Apparatus and method for integrated voice gateway

ABSTRACT

An integrated voice gateway system for use within a company which can route a voice telephone call between parties at two different locations over an IP network or over the PST NETWORK. The system can route a voice telephone call from a first location within the system to a second location within the system via the IP network, and then from the second location to a third location via the PST NETWORK. The integrated voice gateway system includes a gateway server which serves as an intranet/Internet telephony gateway. The gateway server routes intra-company voice or facsimile (fax) calls, over the company&#39;s intranet or the public Internet. The gateway server provides an alternate voice network to the PST NETWORK for a company. This alternate network is provided at a much lower cost. The gateway server is a combination of hardware and software components which reside on a PC server platform. The gateway server is coupled to a customer premise telephone system, i.e. a PBX via a T1 or E1 trunk for larger systems, or an analog trunk for smaller systems. The gateway server is coupled to the company&#39;s intranet via industry standard connections. The gateway servers in a multi-site company are coupled together via the company&#39;s intranet or wide area network (WAN) into a gateway network. The gateway server uses PBX call status links to provide many unique and useful features which are otherwise unavailable. The gateway server uses T1 inband ANI, PRI, QSIG or industry standard CTI applications programming interfaces (API) and works with any PBX which supports any of these call status links. The gateway server is equipped with a database of user and gateway objects and attributes, and provides many unique features including caller&#39;s name based on caller phone number, address translation, gateway network routing information, user authentication, etc. This database can be integrated with industry standard enterprise directory services systems including any directory which supports the Lightweight Directory Access Protocol (X.500) (LDAP) interface.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application is a divisional of application Ser. No.09/061,802 filed on Apr. 16, 1998.

FIELD OF THE INVENTION

[0002] This invention relates to an integrated voice gateway system.

BACKGROUND OF THE INVENTION

[0003] The widespread popularity of the Internet has provided new meansof rapid and comprehensive communication between users located indistant and diverse locations around the world. Methods of sending,finding and retrieving information, previously confined to the domain ofgovernment, academia and industry, are now available in business, in thecommunity, and in the home. Formerly arcane technical terms such astelnet, electronic mail (e-mail), file transfer protocol (FTP),hypertext transfer protocol (HTTP) and world wide web (WWW or web) arenow widely used.

[0004] Very soon after the popularity of the Internet became widespread,new applications of the underlying technology began to emerge. With theconcomitant growth of multimedia, a predominately text-based mediumquickly expanded to include graphics, imagery, motion pictures andsound. A natural extension of the capability to transmit recorded,digitized sound between personal computers (PC), was the advent of PCbased telephony. Although the initial users of PC to PC telephone callsover the Internet were primarily computer hobbyists and the like, therewas an early recognition of the fact that the Internet provided thepotential for the average user to make a telephone call anywhere in theworld for the cost of a local telephone call to an Internet serviceprovider (ISP).

[0005] PC to PC telephone technology is limited by the need to be loggedon to a PC and the Internet to place or receive a call. Softwareincorporating proprietary algorithms limit the ability to call to othershaving the same or similar software. The sound quality is often degradedbecause of packet loss and delays in forwarding packets from the senderto the receiver over the Internet, operation in a half-duplex mode, andthe use of low quality PC speakers and microphones.

[0006] With the expectation of improved performance and reduced cost oftelephone calls in the business environment, voice gateways havefacilitated the interconnection of the private branch exchange (PBX) andthe computer network.

[0007] As used herein, PBX includes hybrid, key systems, and other suchsystems. Thus, through a PBX coupled to an Internet protocol (IP)network (e.g., intranet, wide area network (WAN), Internet), telephonecalls between different sites within a company, or other institution,organization or enterprise (hereinafter referred to as “company”), orbetween companies, the company or companies having installations at twoor more locations which locations may be geographically distant fromeach other, may be routed over the IP network rather than via the publicswitched telephone network (PST NETWORK). As used herein, the PSTNETWORK includes both public and private networks. This can result insignificant cost savings and can also help to improve communicationwithin and between companies by providing a variety of related serviceswhich are not available via the PST NETWORK.

[0008] The level of integration achieved in current voice gatewaysystems is quite low, and such systems are limited in the services theycan provide. In particular, current voice gateway systems are capable ofonly routing a nominal telephone call from a calling party at point A toa called party at point B. However, if, for example, the called party isnot present, or if the called party's telephone is currently busy,current voice gateway systems do not provide important additionalservices to facilitate making a connection between the calling party andthe called party at a later time or at another location or by analternative method.

[0009] One of the reasons for the limitations is that current voicegateway systems are limited in their ability to obtain, store, updateand retrieve necessary information about both the calling party and thecalled party in order to do anything other than simply attempt to make astraight forward connection between the two points. If the telephonesystem had sufficient information about both parties, then the systemcould facilitate making the connection at a later time, at anotherlocation or by an alternative method. However, in current voice gatewaysystems, there is no way to obtain the necessary call status and callcontrol information, nor is there an accessible central data base inwhich to store and from which to retrieve this information. Currentvoice gateway systems have no real-time call control/call statusinformation link with the PBX, nor do they have any storage of telephoneuser information. For example, current voice gateway networks have noinformation regarding the calling party's name, telephone number, orstatus of the called party, e.g., busy or idle. It is this informationabout the calling and called parties which is not readily available, butwhich is necessary to provide important additional services.

[0010] There is a need for a highly integrated voice gateway system foruse within a company and between companies having installations at twoor more locations which locations may be geographically distant fromeach other. The integrated voice gateway system should have the abilityto route telephone calls between parties at two different locations overthe IP network as well as the PST NETWORK, and to automatically selectwhich of the IP network and PST NETWORK over which to route telephonecalls. The integrated voice gateway system should have the means toobtain, store, update and retrieve information about calling and calledparties. For example, in instances in which a calling party isunsuccessful in making a connection to a called party, the integratedvoice gateway system should have the means to use information about thecalling and called parties to provide services which facilitate makingan alternate or subsequent connection between the calling party and thecalled party.

[0011] The following standards are incorporated herein by reference:

[0012] ITU-T Recommendation H.323—Packet-based multimedia communicationssystems;

[0013] ITU-T Recommendation X.500—Open systems interconnection—Thedirectory: Overview of concepts, models and services; and

[0014] IPNS Forum QSIG Handbook.

SUMMARY OF THE INVENTION

[0015] We have now invented a highly integrated voice gateway system foruse in a company or between companies having installations at two ormore locations which locations may be geographically distant from eachother.

[0016] As used herein, a voice telephone call from a caller telephone toa called telephone, the call carried via an IP network, is referred toas a VoIP call. As used herein, a fax call from a caller fax machine toa called fax machine, the call carried via an IP network, is referred toas an FoIP call.

[0017] Accordingly, it is an object of the invention to provide anintegrated voice gateway system for use within a company which can routea voice telephone call between parties at two different locations overan IP network as well as the PST NETWORK and to automatically selectwhich of the IP network and PST NETWORK over which to route the calls.It is a further object of the invention to provide a system which canroute a voice telephone call between a calling party using a telephoneat a first location within the system to a second location within thesystem via an IP network, and then from the second location to a calledparty at a third location via the PST NETWORK.

[0018] It is an object of the invention to provide an integrated voicegateway system which can place a telephone call over an IP network, andthen if, during the telephone call, the quality of the telephone callfalls below a predetermined quality level, to be able to reroute thetelephone call over the PST NETWORK, and to do so in a manner which istransparent to both the calling and called parties.

[0019] It is an object of the invention to provide an integrated voicegateway system which can track any move, add or change to any telephoneuser in the enterprise in the integrated voice gateway system. It is afurther object of the invention to provide an integrated voice gatewaysystem which can integrate with an enterprise directory to allow singlepoint of entry of moves, adds and changes to telephone users and toprovide replication of these changes across all enterprise sites.

[0020] It is an object of the invention to provide an integrated voicegateway system in which the identification of the calling party (e.g.name, title, department, telephone number) is displayed on a computerscreen (rather than on a telephone display) co-located with the calledparty's telephone, and that such information be displayed regardless ofthe vendor(s) supplying the telephone equipment used by the calling andcalled parties. It is a further object of the invention that suchinformation be provided regardless of the desktop workstation or PC(workstation and PC are referred to interchangeably herein), oroperating system used via a WWW browser interface.

[0021] It is an object of the invention to provide an integrated voicegateway system which can create a log of incoming telephone calls overan IP network which telephone calls are not answered by a called party,and identify the name of each calling party. It is a further object ofthe invention to provide a log of all incoming and outgoing callswhether the calls are on net (i.e., IP network) or off net (i.e., PSTNETWORK or internal PBX).

[0022] It is an object of the invention to provide an integrated voicegateway system in which, when a called party's telephone is busy, thesystem can automatically set up a call between the calling party and thecalled party as soon as the called party hangs up. It is a furtherobject of the invention to provide such a capability even when a calledparty has voice mail.

[0023] It is an object of the invention to provide an integrated voicegateway system in which, when a called party is busy, the calling partymay send a computer message which will be immediately displayed on acomputer screen co-located with the called party's telephone, forexample to explain why the calling party needs to speak with the calledparty.

[0024] It is an object of the invention to provide an integrated voicegateway system in which, when a called party does not answer an incomingtelephone call, the calling party may forward the call, for example fromvoice mail, to a receptionist or other designated party. It is a furtherobject of the invention to provide the capability for a party at ananswering station to send a computer message which will be immediatelydisplayed on a computer screen co-located with the called party'stelephone.

[0025] It is an object of the invention to provide an integrated voicegateway system in which a user of the system may set up the system toforward that user's telephone calls to a different telephone. It is afurther object of the invention to forward calls to PST NETWORKtelephones or PC-based IP telephones. It is a further object of theinvention to provide the capability for a user to set up the system toforward that user's telephone calls to different telephones according toa time schedule predetermined by the user. It is a still further objectof the invention to provide the capability for a user to set up thesystem to forward telephone calls originating only from one or morecalling parties so designated by the user. It is a further object of theinvention to provide the capability to setup call forwarding via abrowser interface or interactive voice response (IVR).

[0026] It is an object of the invention to provide an integrated voicegateway system in which users can initiate telephone functions from theworkstation, such functions including, without limitation, dialing acall, transferring a call, add-on conference, and forward a call to/fromany white pages entry or personal telephone book entry. It is an objectof the invention to provide an integrated voice gateway system whichprovides secure access to the system from telephones, including PC-basedIP telephones, which are outside the system.

[0027] It is an object of the invention to provide an integrated voicegateway system which, when a call from a source to a first destinationis transferred from the first destination to a second destination, candirect the path of the call directly from the source to the newdestination and thereby maintain the quality of the call.

[0028] It is an object of the invention to provide an integrated voicegateway system with an operating system independent browser based clientwhich therefor requires no client software installation. It is a furtherobject of the invention to provide the desktop telephone users with atelephone white pages display of any entry in the enterprise directoryservices database.

[0029] In a first aspect, the invention provides a communication systemcomprising a public switched telephone (PST) network; an IP network; aPBX coupled to the PST network for routing a telephone call over the PSTnetwork; a telephone coupled to the PBX; a voice gateway coupled to thePBX through a call status-call control link and a trunk, and coupled tothe IP network for routing a telephone call over the IP network;selection means for selecting which of the PST network or the IP networkto route a telephone call; and call status means for the gateway serverto monitor events associated with incoming calls to the telephone andoutgoing calls from the telephone.

[0030] In a second aspect, the invention provides a communication systemcomprising a PST network; an IP network; a PBX coupled to the PSTnetwork for routing a telephone call over the PST network; a telephonecoupled to the PBX; a voice gateway coupled to the PBX through a callstatus-call control link and a trunk, and coupled to the IP network forrouting a telephone call over the IP network; a desktop workstationcoupled to the voice gateway; selection means for selecting which of thePST network or the IP network to route a telephone call; and PC callcontrol means for controlling the telephone from the desktopworkstation. In a third aspect, the invention provides, in acommunication system comprising a PST network, an IP network, aplurality of PBXs at a plurality of locations, the PBXs coupled to thePST network for routing telephone calls over the PST network, coupled toeach PBX a respective plurality of telephones, a plurality of voicegateways, each voice gateway coupled to a respective PBX and to the IPnetwork for routing telephone calls over the IP network, and selectionmeans for selecting which of the PST network or the IP network to routetelephone calls, fallback to PST NETWORK means for rerouting a telephonecall connected over the IP network to the PST network.

[0031] In a fourth aspect, the invention provides, in a communicationsystem comprising a PST network, an IP network, a plurality of PBXs at aplurality of locations, the PBXs coupled to the PST network for routingtelephone calls over the PST network, coupled to each PBX a respectiveplurality of telephones, a plurality of voice gateways, each voicegateway coupled to a respective PBX and to the IP network for routingtelephone calls over the IP network, and selection means for selectingwhich of the PST network or the IP network to route telephone calls, amethod of automatically rerouting an in process telephone call from theIP network to the PST network when the quality of the telephone callover the IP network falls below a predetermined quality level, themethod comprising the steps of (a)

[0032] establishing a connection for the telephone call over the PSTnetwork while the telephone call is still connected over the IP network;(b) switching the parties to telephone call over the PST network; and(c) breaking the connection for the telephone call over the IP networkwhile maintaining the telephone call over the PST network.

[0033] In a fifth aspect, the invention provides, in a communicationsystem comprising a PST network, an IP network, a plurality of privatebranch exchanges (PBX) at a plurality of locations, the PBXs coupled tothe PST network for routing telephone calls over the PST network,coupled to each PBX a respective plurality of telephones, a plurality ofvoice gateways, each voice gateway coupled to a respective PBX and tothe IP network for routing telephone calls over the IP network, andselection means for selecting which of the PST network or the IP networkto route telephone calls, fallback during call setup means toautomatically route a telephone call over the PST network if, duringcall setup, the telephone call cannot be setup over the IP network.

[0034] In a sixth aspect, the invention provides a method of configuringan enterprise directory for IP telephony, the method comprising thesteps of (a) providing an X.500 compatible directory; and (b) includingin the schema of the directory at least one of GateKeeper, Gateway,Multipoint Control Unit (MCU), GateKeeper Exchange, and a desktop userobject and attribute.

[0035] In a seventh aspect, the invention provides a computer telephonyintegration (CTI) system comprising a PBX, a telephone coupled to thePBX, a local area network (LAN), a voice gateway coupled to the LAN, aCTI server coupled to the PBX and coupled to the LAN, a web servercoupled to the LAN, a desktop workstation coupled to the LAN, thedesktop workstation comprising a web browser. In an eighth aspect, theinvention provides a communication system comprising a PST network, anIP network, a PBX coupled to the PST network for routing a telephonecall over the PST network, a voice gateway coupled to the PBX and the IPnetwork for routing a telephone call over the IP network, and selectionmeans for selecting which of the PST network or the IP network to routea telephone call, and for a telephone call placed from a first telephoneat a first location, over the IP network to a second telephone at asecond location, path replacement means for transferring the telephonecall from the second telephone at the second location to a thirdtelephone at a third location, the path replacement means routing thetelephone call from the first telephone at the first location over theIP network to the third telephone.

[0036] In a ninth aspect, the invention provides a communication systemcomprising a PST network, IP network, a plurality of PBXs at a pluralityof locations, the PBXs coupled to the PST network for routing telephonecalls over the PST network, coupled to each PBX a respective pluralityof telephones, a plurality of voice gateways, each voice gateway coupledto a respective PBX through a call status and call control link and atrunk, and coupled to the IP network for routing telephone calls overthe IP network, coupled to a plurality of voice gateways, selectionmeans for selecting which of the PST network or the IP network to routetelephone calls, and feature networking means for providing PBX featuresamong the plurality of locations over the IP network.

[0037] The integrated voice gateway system includes a gateway serverwhich serves as an Intranet/internet telephony gateway. The gatewayserver routes intra-company voice or facsimile (fax) calls, made fromuser's desktop phones or fax machines/servers, over the company'sintranet or the public Internet. The gateway server provides analternate voice network to the PST NETWORK for a company. This alternatenetwork carries voice and fax calls at a much lower cost. This isbecause an intranet is built to support bursty data traffic and thebandwidth is underutilized most of the time. The gateway server takesadvantage of the underutilized bandwidth when such bandwidth isavailable to transmit voice.

[0038] The gateway server is a combination of hardware and softwarecomponents which reside on a workstation server platform. The gatewayserver is coupled to a customer premise telephone system, i.e. a PBX viaa T1 or E1 trunk for larger systems, or an analog trunk for smallersystems. The gateway server is coupled to the company's intranet viaindustry standard connections (e.g., ethernet, frame relay orasynchronous transfer mode (ATM)). Thus, the gateway server is a gatewaybetween the PBX/PST NETWORK and the company's intranet. The gatewayservers in a multi-site company are therefore coupled together via thecompany's intranet or wide area network (WAN) into a gateway network.

[0039] The gateway server uses call status and call control integrationwith the PBX to provide many unique and useful features which areotherwise unavailable. The gateway server supports a variety of callstatus/call control PBX links including T1 inband ANI, PRI, QSIG (globalDSS1 based signaling system for corporate networks, not an acronym,known at the international level as Private Signaling System No. 1(PSS1)) and CTI. Industry standard CTI applications programminginterfaces (API) are supported, including the AT&T/Novell TelephonyServices Application Programming Interface (TSAPI), the MicrosoftTelephony Application Programming Interface (TAPI), and the EuropeanComputer Manufacturers Association (ECMA) Computer Supported TelephonyApplications (CSTA) protocol. Hence the gateway server can provideenhanced features via a variety of call status/call control links withthe level of enhanced features available depending on the type of linkused.

[0040] The gateway server is also equipped with a database of user andgateway objects and attributes. This database provides many uniquefeatures including providing caller's name based on caller phone number,address translation, gateway network routing information, userauthentication, etc. This database is stored in the server but can beintegrated with industry standard enterprise directory services systemsincluding Novell Directory Services (NDS), Microsoft Active DirectoryServices (ADS), Domain NT and any directory which supports theLightweight Directory Access Protocol (X.500) (LDAP) interface. Theintegration provides the enterprise with a single point of entry foruser adds, moves and changes, and provides replication throughout allcorporate sites.

[0041] A gateway network in a company essentially connects a company'sPBXs, which are often geographically dispersed, into a singleintelligent virtual PBX (VPBX). A company-wide VPBX provides advancedend-user features across the company. These features would otherwise beavailable only within the scope of a single PBX, or would requireexpensive PBX features interworking products which require expensive PBXresident software and expensive data connections, e.g. dedicated voicetie lines between sites. By providing PBX features interworking via IP,call status-call control and a database of user and gateway objects andattributes, the gateway server offers PBX features interworking, at alower cost, over a network of mixed PBXs from different vendors and overa single converged network (data tie line or data VPN).

[0042] The gateway server works with existing telephone systems, andwith the mixed networks of telephone systems commonly found in largecompanies. The gateway server provides feature interworking using thecombination of the desktop telephone and desktop workstation. CurrentPBX systems provide such internetworking capabilities only betweendesktop telephones. With the gateway server, however, a worker using adesktop telephone can be notified of an important call via the desktopworkstation. The unique ability of the gateway server to control boththe desktop telephone and the desktop workstation for calls betweenremote workers provides many new VPBX features not available withcurrent PBX to PBX solutions, and provides an alternative method forcurrent PBX networking features that is not limited to only sites withthe same vendor PBX models. These consistent features across the networksubstantially improve communications and enhance productivity by makingemployees at multiple sites feel like they are part of a singlecommunity. In addition to end-user visible features, the gateway serveralso offers benefits such as intelligent routing (using automaticconfiguration) and increases network performance.

[0043] The gateway server supports routing of telephone and fax callsmade from desktop telephones or stand alone fax machines, or workstationintegrated fax servers over a company's intranet or the public Internet.By configuring a selection table in the server, the gateway server canroute real-time fax calls over either the intranet or Internet tominimize the cost of the fax call. The gateway server supportscomputer-based fax as well as stand-alone fax machines. By integratingCTI and enterprise directory service with IP telephony, the gatewayserver provides many more features in a user-friendly way than currentInternet/intranet telephony to IP voice gateways. Current voice gatewaysconnect only to a telephone system's voice lines, e.g., analog, ISDNBRI, ISDN PRI, or T1. This provides only for carrying voice or fax callsover IP. The gateway server is unique in that the server also provides acall control and call status link to the telephone system. Moreover,current voice gateways do not store user telephone information such astelephone number and associated user name. The gateway server is uniquein that it stores extensive user telephone information and alsointegrates with industry standard enterprise directory services. The useof extensions to the enterprise directory services to implement IPtelephony services is a new concept introduced by the gateway server ofthe invention.

[0044] The gateway server can route long distance calls among multiplecompany locations and do so in a manner which is transparent to theusers, except perhaps for possible differences in the quality of voicetransmission. However, the users dial the same way that they currentlydial to make calls whether over public or private networks. The routingtable of the PBX automatically routes designated calls to the voicegateway and the gateway then decides whether to route the call over thecompany's intranet or the Internet.

[0045] In addition to integrating CTI and enterprise directory servicewith IP telephony, the gateway server also provides many unique IPtelephony features in addition to the VPBX features.

[0046] By constantly monitoring the quality of a voice call over the IPnetwork, the gateway network of the invention can continue to maintain acall over the IP network as long as the quality of the call is above apredetermined quality level. If the quality of a voice call over theintranet or Internet falls below a predetermined quality level, e.g. dueto network congestion, the gateway server can automatically “fall back”to the PST NETWORK. The gateway server can automatically set up a callover the PST NETWORK between the caller and called party's desktoptelephones and switch the parties to the PST NETWORK call. The gatewayserver can then drop the IP portion of the call such that the caller andcalled party are then talking over the PST NETWORK. Current voicegateway systems cannot switch a call to the PST NETWORK once the callhas been connected. Since data network congestion can changesignificantly at any time, e.g. a large graphics file is suddenlydownloaded in the middle of an IP telephone call, the ability to switchto the PST NETWORK during an IP telephone call is a significantadvantage to the calling parties. Current systems require the callingparties to hang up if the voice quality deteriorates during a call, andplace a new call, which may encounter the same network congestionproblem, unless the entire gateway is shut down.

[0047] Moreover, in current voice gateway systems, if one remote gatewayis not accessible, the entire gateway must be shut down or callers tothe non-accessible remote gateway would be forced to continually hang upand call again and again until the remote gateway is accessible, ordedicated ports would be required for each gateway segment. Theintegrated voice gateway system of the invention provides the capabilityto fallback to PST NETWORK during call setup in which only callsdirected to a non-accessible gateway are routed over the PST NETWORK,while still allowing other calls to be routed via the gateway and IPnetwork. If a remote gateway is not accessible, a voice call would notnecessarily be rerouted over the PST NETWORK as would be done by currentvoice gateways.

BRIEF DESCRIPTION OF THE DRAWINGS

[0048]FIG. 1 is a block diagram of an overview of the top-levelarchitecture of an embodiment of an integrated voice gateway systemaccording to a first aspect of the invention.

[0049]FIG. 2 is a block diagram of the top-level architecture of agateway network according to a first aspect of the invention.

[0050]FIG. 3 is a block diagram illustrating major software and hardwarecomponents of an embodiment of a gateway network according to a firstaspect of the invention.

[0051]FIG. 3A illustrates the distributed architecture of the enterprisedirectory.

[0052]FIG. 4 illustrates the operation of an embodiment of an integratedvoice gateway system of the invention in setting up a basic PST NETWORKcall.

[0053]FIG. 5 illustrates the operation of an embodiment of an integratedvoice gateway system of the invention in setting up a basic VoIP call.

[0054] FIGS. 6-7 illustrate the operation of an embodiment of anintegrated voice gateway system of the invention in a first method forsetting up a hop-off to PST NETWORK call.

[0055] FIGS. 8-12 illustrate the operation of an embodiment of anintegrated voice gateway system of the invention in a second method forsetting up a hop-off to PST NETWORK call.

[0056] FIGS. 13-14 illustrate the operation of an embodiment of anintegrated voice gateway system of the invention in a third method forsetting up a hop-off to PST NETWORK call.

[0057]FIG. 15 illustrates the operation of an embodiment of anintegrated voice gateway system of the invention in a common method forsetting up a hop-on to VoIP call.

[0058]FIG. 16 illustrates the operation of an embodiment of anintegrated voice gateway system of the invention in a first scenario forsetting up a hop-on to VoIP call.

[0059]FIG. 17 illustrates the operation of an embodiment of anintegrated voice gateway system of the invention in a third scenario forsetting up a hop-on to VoIP call.

[0060]FIG. 18 illustrates the operation of an embodiment of anintegrated voice gateway system of the invention in a fourth scenariofor setting up a hop-on to VoIP call.

[0061] FIGS. 19-22 illustrate the operation of an embodiment of anintegrated voice gateway system of the invention in a first method forsetting up a fallback to PST NETWORK call.

[0062] FIGS. 23-29 illustrate the operation of an embodiment of anintegrated voice gateway system of the invention in a second method forsetting up a fallback to PST NETWORK call.

[0063] FIGS. 30-33 illustrate the operation of an embodiment of anintegrated voice gateway system of the invention in a third method forsetting up a fallback to PST NETWORK call.

[0064] FIGS. 34-38 illustrate the operation of an embodiment of anintegrated voice gateway system of the invention in a fourth method forsetting up a fallback to PST NETWORK call.

[0065] FIGS. 39-46 illustrate the operation of an embodiment of anintegrated voice gateway system of the invention in a fifth method forsetting up a fallback to PST NETWORK call.

[0066]FIG. 47 is a block diagram illustrating a prior art approach toproviding a CTI-workstation interface.

[0067]FIG. 48 is a block diagram illustrating the computer architecturesupporting a PC Call Control feature in an embodiment of an integratedvoice gateway system of the invention.

[0068]FIG. 49 illustrates the operation of a virtual desktop feature inan embodiment of an integrated voice gateway system of the invention.

[0069]FIG. 50 illustrates the operation of a caller name display featurein an embodiment of an integrated voice gateway system of the invention.

[0070]FIG. 51 illustrates the operation of a call log feature in anembodiment of an integrated voice gateway system of the invention.

[0071]FIG. 52 illustrates the operation of an embodiment of anintegrated voice gateway system of the invention when a called telephoneis busy.

[0072]FIG. 53 illustrates the operation of a callback on busy feature inan embodiment of an integrated voice gateway system of the invention.

[0073] FIGS. 54-55 illustrate the operation of a call alert feature inan embodiment of an integrated voice gateway system of the invention.

[0074]FIG. 56 illustrates the operation of a ring through feature in anembodiment of an integrated voice gateway system of the invention.

[0075] FIGS. 57-58 illustrate the setup and operation of a follow mefeature in an embodiment of an integrated voice gateway system of theinvention.

DETAILED DESCRIPTION OF THE INVENTION

[0076]FIG. 1 is a block diagram of an overview of the top-levelarchitecture of an embodiment of an integrated voice gateway system 2according to a first aspect of the invention. The block diagram depictsthree gateway networks 4, 6, 8 of a multi-site company. In embodimentsof the invention, such gateway networks may be located, e.g. indifferent buildings of a large plant, such as in an industrial park orcampus setting, in different locations within the same city, or may belocated at geographically distant locations, including world-wide. Thegateway networks may also be located in different companies. In theparticular example depicted in FIG. 1, first and second gateway networks4, 6 may be within a large industrial park or at different locationswithin a city as they are both coupled to a first telephone companycentral office (CO) CO1 12. The third gateway network 8 isgeographically distant from both the first and second gateway networks4, 6 and is coupled to a second CO, CO2 14. CO1 12 and CO2 14 are partof a PST NETWORK 16. The PST NETWORK 16 may include many COs. Each ofthe gateway networks 4, 6, 8 is coupled to the company's IP network 18.The IP network 18 may include an intranet, the Internet, and the like.

[0077] In the description of FIG. 2 and subsequent FIGs., a genericembodiment of a gateway network according to the invention will bedescribed with reference to the first gateway network 4 depicted in FIG.1.

[0078]FIG. 2 is a block diagram of the top-level architecture of anembodiment of a gateway network 4 (represented by the dashed box)according to a first aspect of the invention.

[0079] The gateway network 4 includes a local area network (LAN) 22.Coupled to the LAN 22 are one or more workstations 24, a gateway server26, a directory server 28, and a router 32. The gateway server 26 isalso coupled to the PBX 34 via a call status—call control link. The callstatus—call control link can comprise a CTI link 98, a PRI interface 36,a QSIG interface 36 or an analog driver 33. These interfaces areindividually illustrated and described below in reference to FIG. 3.

[0080] The PBX 34 is coupled to CO1 12. One or more telephones 38 arecoupled to the PBX 34. The telephones 38 may be any telephone deviceconnecting to a PBX, e.g. analog (POTS), proprietary digital, orstandards-based digital (ISDN BRI). Each telephone 38 may be logicallyassociated with and may be co-located with a respective workstation 24.The gateway server 26 is also coupled to the PBX 34 via an industrystandard telephone station interface 33.

[0081] The CTI interface 98 between the gateway server 26 and the PBX 34uses an industry standard CTI API, e.g., TSAPI, TAPI and CT Connect.Both TSAPI and TAPI focus on call control. The CTI interfaces enablecomputer control of dialing, answering, transferring and conferencing,and provide status. In PBX environments, the CTI interfaces also supportcontrol of advanced features of digital telephones (TAPI) and theswitches to which those station sets connect (TSAPI).

[0082] The directory server 28 may reside in separate hardware or may beco-located with the gateway server 26 in the same hardware.

[0083]FIG. 3 is a block diagram illustrating major software and hardwarecomponents of an embodiment of a gateway server 26 according to a firstaspect of the invention. The gateway server 26 includes software moduleswhich communicate among themselves and have interconnections to othercomponents through either software drivers supporting interfacinghardware elements, or communication links to other components.

[0084] The gateway engine 50 is the central logic coordinating elementof the gateway server 26. The gateway engine 50 directs and oversees theactivities of the other components of the gateway server 26 and gatewaynetwork 4 (FIG. 2). As call processing occurs, the gateway engine 50accesses routing information from a gateway gatekeeper 53 and directs acommunication subsystem 58. The gateway engine 50 also contains thefeature logic for VPBX capabilities. The gateway engine 50 also createslogging and statistical data.

[0085] The enterprise directory 90 is a company-wide general purposedirectory or global database of named objects including users, networkdevices (e.g. routers, gateways), and network services (e.g. printservers), etc. The enterprise directory 90 is a distributed system withreplication and synchronization among its nodes, and has an extensibleobject schema. The implementation of the enterprise directory 90 in theintegrated voice gateway system of the invention includes the extensionof the directory schema to support IP telephony.

[0086] In a preferred embodiment, the enterprise directory 90 isimplemented using a general purpose directory such as NDS. The inventionintroduces schema extensions in NDS. The schema extensions enhance theNDS base schema so that it supports the Directory Services requirementsfor an H.323 Recommendation based IP telephony network. In addition toH.323 support, the schema extension enables the H.323 gatekeepers in anH.323 IP telephony network to automatically find each other. Thiscapability is not currently specified and supported by the ITU H.323Recommendation v.1. The schema extensions also enable the invention toprovide many of its unique features, e.g. caller ID, follow me with callfiltering, etc.

[0087]FIG. 3A illustrates the distributed architecture of the enterprisedirectory 90.

[0088] In FIG. 3A, the logical organization of the enterprise directory90 is illustrated by the large ellipse with NDS at its center andsurrounded by a series of pie-shaped logical partitions P1, P2, P3, P4,P5, P6. The number of partitions illustrated in FIG. 3A is arbitrary, asthe actual number of partitions in a particular gateway network willdepend on the needs of the particular enterprise.

[0089] Also illustrated in FIG. 3A are a series of gateway servers 26-1,26-2, 26-3, 26-4, 26-5, 26-6, each gateway server coupled to arespective physical partition P1′, P2′, P3′, P4′, P5′, P6′ of theenterprise directory 90. The dashed curved lines indicate thecorrespondence of the physical partitions P1′, P2′, P3′, P4′, P5′, P6′with the logical partitions P1, P2, P3, P4, P5, P6 of the enterprisedirectory 90. Each physical partition P1′, P2′, P3′, P4′, P5′, P6′comprises the portion of the respective enterprise directory 90applicable to the respective location served by a gateway server 26-1,26-2, 26-3, 264, 26-5, 26-6 in the enterprise's gateway network.

[0090] In addition, the enterprise directory 90 at an individuallocation may include a replica of a partition from another location inthe network. This can be done, for example, to facilitate set up ofcalls between locations which have a high volume of telephone calls. Thearrows in FIG. 3A indicate the locations of replicas of partitions whichare included in the enterprise directories at other locations. In theconfiguration illustrated in FIG. 3A, a replica of the partition P1′ atthe first location is included in the enterprise directory 90-2 at thesecond location. Also, both the third and sixth locations have replicasR3′, R6′ of each other's partitions. As indicated above, the replicas ofthe partitions are automatically synchronized, whereby changes toentries in a partition at one location, are sent to other locationshaving a replica of the respective partition.

[0091] Referring again to FIG. 3, the gateway database 51 is an opendatabase connectivity (ODBC) compatible database. The gateway database51 contains enterprise white pages, frequent contact information,gateway routing tables, individual user follow me records, and a calllog. The gateway database 51 records are fully indexed to providenecessary real-time performance. The enterprise directory 90 is thesource of the white pages, and frequent contact and raw routing tables.This information is separately maintained in the gateway databasebecause commercially available implementations of an enterprisedirectory, e.g. NDS, are not indexed, and are therefore not easilysearchable. The gateway database 51 is indexed to facilitate theavailability of the data. The data is obtained from the enterprisedirectory 90 and passed to the gateway database 51 by the dredger 107.

[0092] The gateway database 51 also includes an operational routingtable, user follow me and call log data which are created within thegateway server 26.

[0093] The gateway database 51 runs on an ODBC compliant databaseapplication.

[0094] Suitable database applications include, for example, Jet, whichis included with Windows NT 4.0, and Oracle 8.

[0095] The preferred embodiment of the invention includes the X.500compatible enterprise directory. However, in installations which do nothave an X.500 compatible enterprise directory, the alternativeembodiments of the gateway network of the invention may include otherdatabase configurations. For example, one alternate embodiment may beused in systems which have an SQL Server database. The schema extensionsmay be added to the existing data structures in the SQL database, or anew, comprehensive schema may be established.

[0096] In a second alternative embodiment, the enterprise directoryincludes a database designated the master database at a first location,and duplicate databases, designated slave databases at the remaininglocations in the gateway network. In this master-slave configuration,all database administration is performed on the master database. Updatesto the master database are exported to a file which is sent to the otherlocations and imported into the slave databases. The dredging andsynchronization process would be the same as for an X.500 compatibleenterprise directory. The database cache 108 is a repository ofinformation contained in RAM in the gateway server 26. The databasecache includes data duplicated from the gateway database 51 which datais required to be in RAM to support the performance of the gatewayserver, and also transient/dynamically changing data, e.g. idle/busystatus of users' telephones. Much of the data in the database cache 108is indexed for rapid retrieval. The gatekeeper agent 52 is theequivalent of an H.323 gatekeeper client.

[0097] The gatekeeper agent 52 interacts with the gateway gatekeeper 53for address translation, e.g. PST NETWORK telephone number to IP addressof a remote destination gateway server or H.323 telephone.

[0098] The gateway gatekeeper 53 is an embedded equivalent of an H.323gatekeeper. The gateway gatekeeper 53 services the request for addresstranslation received from the gatekeeper agent 52. This module uses datawithin the gateway database 51 for performing address translations.

[0099] The fax gateway 54 sends and receives faxes to and from anexternal fax server (not illustrated). The fax gateway 54 alsotranslates faxes into printable files and transfers the files to a printserver (not illustrated) for printing.

[0100] The gateway web server application 55 supports the components ofthe web client server applications in the gateway network 4. A suitableweb server application 55 is the Microsoft NT IIS server applicationwhich uses ActiveX server components and Active Server Pagestechnologies.

[0101] The user web server application 56 is a server applicationcomponent which supports user clients by responding to HTTP userrequests by the user clients. The administrator web server application57 is a server application component which supports system administratorclients by responding to HTTP user requests by administrator clients.

[0102] In a preferred embodiment, the web server 92 is a Microsoft NTIIS Server. The web server 92 provides the client/server communicationmechanism between browser-based clients, e.g. a user client 95 and anadministrative client 96, and the gateway web server application 55, theuser web application 56 and the administrator web application 57. Theweb server 92 may be co-located on the same server hardware as thegateway server 26 or may be on separate server hardware.

[0103] The user client 95 (also referred to herein as “browser”) is abrowser-based graphical user interface (GUI) application which residesin a desktop workstation 24. Java and HTML are used to provide the userinterface. This application interface is used to deliver integratedgateway user features. The administrator client 96 is also abrowser-based GUI application, which resides in a desktop workstation24.

[0104] The communications subsystem 58 presents to the gateway engine 50an abstract appearance of telephony capabilities and activities in thesystem. The communications system 58 merges information from separatemodules (e.g., the telephone network 65 and CTI 76 modules) to present asingle logical PBX representation. The communications subsystem 58 alsoallows calls to be managed in a similar manner by the higher systems,whether telephone network or IP telephony in nature during initiation,while active and at completion.

[0105] The IP telephony module 59 is an object oriented abstraction ofIP telephony.

[0106] This module permits hardware from different vendors to be used,thereby isolating their differences from the higher level components ofthe system. The VoIP submodule 60 is an object oriented abstraction ofan H.323 implementation including H.323 call control and H.323 voicetransmission over an IP network. The FoIP submodule 61 is an objectoriented abstraction of T.IFAX2 implementation including the faxinteraction and transmission protocol over an IP network. The VoIP/FoIPdriver 62 is the software layer supplied with IP telephony hardware tosupport the gateway server 26 application. A network interface card(NIC) 63 connection (e.g., ethernet 10 baseT) provides the IP connectionto the data network (not illustrated) used to transmit and receive IPtelephony communications. A digital signal processor (DSP) 64 includes amicroprocessor which is specialized to manage real-time digitallyencoded signals. For IP telephony, the DSP 64 may include coder/decoder(codec) algorithms to compress and decompress voice signals.

[0107] The telephone network module 65 is an object oriented abstractionof switched circuit telephone network connections. These connectiontypes are the foundations of today's telephone network. Elementscontrolled in the telephone network module 65 include station interfaces73, trunk interfaces 66, and resources to interact with the media stream(e.g. record and playback voices, detect and generate touch tones,etc.). The telephone network module 65 represents all the callprocessing information and call status.

[0108] The trunk interface submodule 66 is an object orientedabstraction of telephone network trunk connections. Several telephonetrunk types may be supported including, e.g., analog trunks (Loop Startand Ground Start), T1/E1 E&M trunks, ISDN PRI trunks (T1/E1), and ISDNQSIG (T1/E1). The trunk interface submodule 66 can interface with avariety of hardware specific software drivers, e.g. analog driver 67,T1/E1 E&M driver 69, PRI driver 70, and QSIG driver 71.

[0109] The analog trunk hardware 68 supports connecting analog trunklines 35. The analog trunk hardware 68 provides the physical connectionof this trunk type to the gateway server 26 and, in some cases, providesa connection to an internal time division multiplexing (TDM) bus 84.Suitable analog trunk hardware 68 includes the QuickNet TechnologiesLineJack card.

[0110] The DS-1 hardware (T1/E1) 72 supports connecting DS-1 trunk lines(T1/E1 E&M) 37, (PRI) 39, (QSIG) 41. The DS-1 hardware 72 provides thephysical connection of this trunk type to the server and, in some cases,provides a connection to the internal TDM bus 84. The DS-1 hardware 72card may be a T1 card which supports 24 channels (domestic US) or an E1card which supports 30 channels (European). A suitable DS-1 hardware 72card is the Dialogic D240.SC card.

[0111] The analog station hardware 75 supports connecting analog stationlines 33. The analog station hardware 75 provides the physicalconnection to the gateway server 26 and, in some cases, provides aconnection to the internal TDM bus 84. A suitable analog stationhardware 75 is the Dialogic DIALOG/4 card. The TDM bus 84 is an internalbus which provides a switching matrix for circuit switched telephoneconnections. The TDM bus 84 is used to transport voice signals or othercall content from one hardware device (e.g., analog trunk 68, DS-1 H/W(T1/E1) 72, and analog station H/W 75) to another within the system. TheTDM bus 84 may exist both internal to a single card as well as providinga physical connection where multiple cards may be interconnected.Suitable implementations of a TDM bus 84 include the Dialogic SC-Bus andthe Natural Microsystems MVIP bus.

[0112] The station interface submodule 73 is an object orientedabstraction of telephone network station connections. The interactionsembodied in the station interface submodule 73 represent the operationof a telephone device connected to a telephone system PBX or publicnetwork. In the embodiment illustrated in FIG. 3, the station interfacesubmodule 73 is implemented using analog station connections (POTStelephone), however the station interface submodule 73 may also beimplemented using digital telephone connections, e.g. ISDN BRIemulation. The station interface submodule 73 interfaces with a varietyof station hardware specific software drivers, illustrated in FIG. 3 asan analog station driver 74.

[0113] The CTI module 76 provides an object oriented abstraction of aCTI link connection to a PBX. The CTI module 76 supports the delivery ofevents received and the receipt of call control commands in an abstractsense for processing and subsequent handoff for delivery to the PBX 34over the CTI link 98. The CTI module 76 can support the requirements ofindustry standard CTI links, e.g. TSAPI, TAPI and CT Connect. The TSAPIsubmodule 77 supports all communications with the TSAPI driver 80. TheTSAPI submodule 77 normalizes any TSAPI differences which exist amongvarious PBX implementations into a common TSAPI abstraction, andpresents this abstraction to the CTI module 76. The TAPI submodule 78supports all communications with the TAPI driver 81. The TAPI submodule78 normalizes any TAPI differences which exist among the various PBXimplementations into a common TAPI abstraction and presents thisabstraction to the CTI module 76. The CT Connect submodule 79 supportsall communications with the CT Connect driver 82. The CT Connectsubmodule 79 normalizes any CT Connect differences which exist among thevarious PBX implementations into a common CT Connect abstraction andpresents this abstraction to the CTI module 76.

[0114] The CTI server 97 is a client/server application which controlsthe flow of information between the gateway server 26 and the PBX 34over the PBX CTI link 98. The core CTI server module 102 provides thecentral logic for the application. The CTI client driver 99 manageslogical link connectivity to client applications. The CTI client driver99 also manages a communications link 106 to the CT Connect driver 82,and brokers the information flow to and from the CT Connect driver 82.The PBX-specific driver 101 interfaces with the CTI server core module102, translates the CTI server's 97 standard messaging to/from theparticular protocol used by the specific PBX 34, and delivers theinformation to/from the physical connection to the PBX 34. The physicalconnection to the PBX 34 may be an ethernet NIC, or a dedicated physicallink with a protocol, e.g. X.25 or ISDN BRI. Suitable client/server CTIimplementations include Novell TSAPI, Microsoft TAPI 2.1 and Dialogic CTConnect. The CTI server 97 may be a stand alone application on separateserver hardware or may reside in the same server hardware as the gatewayserver 26.

[0115] The gateway server 26 integrates with telecommunications customerpremises equipment (CPE), in particular PBXs for large sites andhybrid/key systems at smaller locations. The term PBX is used hereininterchangeably to refer to all such systems.

[0116] The automatic route selection (ARS) 103 is a functionalcapability that the PBX 34 employs to select the preferred trunk forplacing a call. PBXs may have a variety of trunks attached, includinglocal lines, direct lines to a long distance provider, private leasedlines interconnecting with other company PBXs, and virtual privatenetworks. The ARS 103, sometimes also called least cost routing (LCR),reviews the number dialed, and identifies a preferred trunk. If thepreferred trunk is busy, the ARS 103 will proceed to a subsequentchoice. The ARS 103 then adds or deletes digits to condition the numberdialed and transmit the call over the selected line. This feature isalso available on some hybrid/key systems. In a preferred embodiment ofthe invention, the ARS 103 is configured to route calls destined acrossthe gateway network to the gateway server as the preferred first choice.The PBX 34 uses trunks to connect to the PST NETWORK CO and tointerconnect to other PBXs. Various types of trunks may be used,including analog, T1, E1, ISDN PRI, and QSIG. In a preferred embodiment,the gateway server 26 can support all the trunk types listed.

[0117] A PBX station line is a connection for a telephone device. PBXsmay support several types of telephone devices, including analog (POTS),proprietary digital stations, and ISDN terminals. The gateway server 26may use analog station lines 33 to interface with the PBX.

[0118] Enterprise Directory Schema Extensions

[0119] The integrated computer telephone system introduces schemaextensions in industry standard enterprise directory services systems tosupport IP telephony.

[0120] While the description of the schema extensions will be presentedin terms of NDS, it is understood that the schema extensions areapplicable to other industry standard directory systems.

[0121] The schema extensions enhance the NDS base schema so that theschema supports the Directory Services requirement for an ITU H.323Recommendation based IP telephony network. In addition to H.323 support,the schema extensions enable the H.323 gatekeepers in an H.323 IPtelephony network to automatically find each other. This capability isnot currently specified and supported by ITU H.323 Recommendation v.1.The schema extensions also enable the gateway server to provideadditional features, e.g. caller ID and call filtering.

[0122] The schema extension includes additional NDS objects andadditional NDS attributes. The schema enhancement defines therelationships among the additional NDS objects and attributes. Theadditional NDS objects for H.323 include H.323 Gateway, H.323Gatekeeper, and H.323 Multipoint Control Unit (MCU). The additional NDSattributes are applicable to the additional H.323 objects and existingNDS objects.

[0123] Table 1 lists the attributes which are included in the NDSenterprise directory schema extensions in a preferred embodiment of theinvention. Table 1 includes the name of each attribute added to theschema, a brief definition of each attribute, and an indication as towhether the attribute is added to support the use of the enterprisedirectory to support IP telephony or to support the advanced featuresTABLE 1 New Attributes Included in the Enterprise Directory SchemaExtension Attribute Definition Supports Attendant Specifies thetelephone number for a gateway Advanced Number server for Finderactivation/deactivation, Hop Features On from PST NETWORK, etc. AutoSpecifies the dialing string for the auto Advanced Attendant attendantpreceding the extension number (null Features Prefix value if noautoattendant and Direct Inward Dialing is available for the PBX).CallAlert Specifies the time-out period, in seconds, for AdvancedTimeout Call Alert inaction for a gateway server. Features Call LogSpecifies the duration, in days, of the call log Advanced Configu-parameters for a gateway server, including Call Features ration LogDuration, Call Log Type 1, Call Log Type 2, . . . (where Call Log Type ispecifies the event logging level for a gateway server. There can bemultiple event logging levels.). WhitePages Specifies the scope of thewhirte pages in the Advanced Subtree context of the enterprisedirectory. The Features gateway server catalog contains WhitePages andother information derived from the enterprise directory. This attributeestablishes the directory contents that the WhitePages contain. CellularSpecifies the user's cellular phone number. Advanced Phone Features CTISpecifies the CTI link between the gateway Advanced server and the PBX,including CTI Type, Link Features Name, and Server Name. CTN AccessSpecifies the special trunk access code to the Advanced Code CorporateTelephony Network, e.g. “8” (null Features value if the PBX does notsupport CTN dialing). CTN Specifies the location ID(s) for the gatewayAdvanced Location ID network in the Corporate Telephony Network Featuresnumbering plan. CTN Specifies the Corporate Telephony Network AdvancedNumbers numbers (or number patterns) represented by Features Table thegateway network for its PBX and its satellite PBXs (i.e. PBXs connectedto the gateway server indirectly through another PBX, and which use thegateway server to get on to the IP network), including Location ID,Extension Range, PST NETWORK pattern, and Comments (for the systemadministrator). CTN Trunk Specifies the translation table for convertingAdvanced Translation from the PBX numbering format to CTN Featurescanonical format, including Trunk Group ID, Trunk ID Range, Number ofDigits to Delete, Digit to Prepend, and Trunk Card ID, and Comments.FallBack Specifies the fallback number for a gateway Advanced Numberserver. This is the PST NETWORK number Features that the gateway serversuse to call each other for fallback to PST NETWORK. GateKeeper Specifiesthe default GateKeeper with which an IP entity such as Gateway and H.323Terminal Telephony should register. Entities are allowed to registerwith GateKeeper for the H.323 Zone to which the entity belongs.GatekKeeper Identifies the GateKeeper Exchange with IP Exchange which aGateKeeper is associated. Telephony Gateway Specifies the gatewayassociated with a IP gateway network entity, e.g. a user. TelephonyGateway List Specifies the gateway servers associated with IP aGateKeeper. Telephony Home Phone Specifies the user's home phone number.Advanced Features HopOff Specifies whether Hop-Off to PST NETWORKAdvanced Enabled is enabled for a gateway server. Features HopOff PSTSpecifies the PST NETWORK number patterns Advanced NETWORK for hop-offto PST NETWORK for the gateway Features Patterns server. Only PSTNETWORK numbers which match these patterns can be reached via hop- offfrom this gateway server. This attribute facilitates the automaticrouting configuration for the gateway network. HopOn Specifies whetherHop-On from PST Advanced Enabled NETWORK is enabled for a gatewayserver. Features HopOn for Specifies the list of users, groups, orcontainers Advanced OffNet Call authorized to access Hop-On for Off-Netcalls.. Features List License Contains the license data for a gatewayAdvanced network, including Serial Number and License Features Count.Manual Specifies code (a combination of multiple Advanced Fallbacktelephone keypad keys) for fallback to PST Features Code NETWORK (nullvalue if manual fallback is disabled). Maximum Specifies the maximumnumber of outstanding Advanced CallBacks Callback on Busy requests foreach user of a Features per User gateway server (zero if callbacks arenot allowed, no value if no limit on the number of callback requests).Office Fax Identifies the user's office fax number. Advanced FeaturesOffice Phone Identifies the user's office telephone number. Advanced Itis used for providing Caller ID, including Features CTN On-Net Numberand PST NETWORK Number. Pager Identifies the user's pager number.Advanced Features Passcode Specifies user passcode for the gatewayfinder Advanced activation/deactivation user authentication fromFeatures a telephone. PBX Specifies the PBX configuration informationAdvanced Information which is used by the gateway server, includingFeatures PBX Type, Station to CO Trunk Access Code, Station to GatewayServer Trunk Access Code, Gateway Server to Local Trunk Access Code,Gateway Server to Toll Trunk Access Code, and DISA Access Code. PBXStation Specifies the Station Line interface between the AdvancedInterface gateway server and the PBX, including Card Features ID, CardName, Port Number, For Attendant Yes/No, and Fallback Yes/No. PBX TrunkSpecifies the Trunk Line interface between the Advanced Interfacegateway server and the PBX, including Trunk Features Card ID, TrunkType, Trunk Protocol, and Trunk Card Name.. PST Specifies the PSTNETWORK codes for a Advanced NETWORK gateway server, including E164Country Code, Features Codes E164 Area Code, International Access Code,and Long Distance Access Code. Desktop CTI Specifies the number oflicenses installed for Advanced License users who are authorized toaccess this class Features Count of service, i.e. provided with accessto CTI capabilities from the desktop browser. (This value may be forreference only.) Desktop CTI Specifies the list of users, groups orcontainers Advanced License List who are authorized this class ofservice, i.e. Features provided with access to CTI capabilities from thedesktop browser. Finder Specifies the acceptance code for answering aAdvanced Acceptance redirected call using this class of service.Features Code Finder Specifies the number of licenses installed forAdvanced License users who are authorized to access this class FeaturesCount of service, i.e. who may have calls forwarded to alternatetelephone numbers. (This value may be for reference only.) FinderSpecifies the list of users, groups or containers Advanced License Listwho are authorized this class of service, i.e. Features who areauthorized to have calls forwarded to alternate telephone numbers.Mobile Specifies the number of licenses installed for Advanced Licenseusers who are authorized this class of service, Features Count i.e. whomay operate a portable computer as a virtual desktop from a remotetelephone. (This value may be for reference only.) Mobile Specifies thelist of users, groups, or containers Advanced License List who areauthorized this class of service, i.e. Features authorized operate aportable computer as a virtual desktop from a remote telephone. UEPDomain Specifies the gateway network Uniform Advanced Extension Plandomain. Features UEP Domain Contains a list of all the UEP domains inthe Advanced List Corporate Telephony Network. Features User Specifiesthe user preferences for the gateway Advanced Preferences network,including Screen Pops On/Off, Screen Features Pops Audible On/Off,Screen Pops Size Large/Small, and Number of Call Log Entries. VoIPSpecifies the address parameters associated Advanced Address with theVoIP subsystem in the gateway server, Features Parameters including VoIPInternet Address, VoIP Intranet Address, and VoIP Port Number. VoIPSpecifies the VoIP encoding parameters, IP Encoding including TxCoder(voice CODEC for Telephony transmitting), RxCoder (voice CODEC forreceiving), volume (AGC for VoIP transmission), frame size (inmilliseconds), and frames per packet (number of VoIP frames per UDPpacket). VoIP Specifies the hardware that is installed in the IPHardware gateway server, including Card Type, Card ID, Telephony andCard Name. VoIP QOS Specifies the QoS parameters for VoIP, IP Parametersincluding VoIP QoS Detection (interval for Telephony checking VoIP QoS)and VoIP QoS Threshold (threshold based on which the gateway servertriggers fallback to PST NETWORK, including Lost Packets, Packets Out OfOrder, and Round Trip Delay). H.323 Zone Identifies a human readableH.323 Zone name IP with which a GateKeeper is associated. Telephony

[0124] Table 2 lists object classes which are included in the NDSenterprise directory schema extensions in a preferred embodiment of theinvention. Table 2 includes the name of each object class added to theschema, a brief definition of each object class, a list of theattributes listed in Table 1 which, in a preferred embodiment of theinvention, may be associated with the respective object classes, and anindication as to whether the object class is added to support the use ofthe enterprise directory to support IP telephony or to support theadvanced features. TABLE 2 New Object Classes Included in the EnterpriseDirectory Schema Extension Object Schema Extension Class DefinitionAttributes Supports Gate The GateKeeper class License IP Keeperrepresents an H.323 WhitePages Subtree Telephony GateKeeper entity.There H.323 Zone and may be multiple GateKeeper Exchange AdvancedGateKeepers in a Gateway List Features gateway network. Gateway TheGateway class License IP represents an H.323 CTN Location ID TelephonyGateway entity. CTN Numbers Table and A Gateway is associated CTN AccessCode Advanced with only one Auto Attendant Prefix Features GateKeeper.The CTN Trunk Gateway object also Translation UEP contains the routingDomain HopOff PST information for NETWORK this Gateway. Pattern VoIPAddress Parameter VoIP Encoding VoIP QoS Parameters VoIP HardwareGateKeeper PST NETWORK Codes Fall Back Number Attendant Number Call LogConfiguration Call Alert Timeout Maximum CallBacks Per User ManualFallback Code Finder Acceptance Code Hop On Enabled Hop Off Enabled PBXTrunk Interface PBX Station Interface CTI PBX Information HopON forOffNet Call List MCUU The MCU class License IP represents an H.323Telehony MCU entity. An MCU Gatekeeper is associated with only oneGateKeeper. Gate The GateKeeper License IP Keeper Exchange objectcontains Desktop CTI License Telephony Exchange a list of allGateKeepers Count and in the NDS Tree. There Desktop Advanced can beonly a CTI License List Features single GateKeeper Finder License CountExchange object in the Finder License List entire NDS Tree. The MobileLicense Count Distinguished Name Mobile License List of this object UEPDomain List is administrator defined when the very first GateKeeper isinstalled in the NDS Tree. Subsequently, the Distinguished Name of thisobject has to be specified when the GateKeepers are installed. UEPSpecifies the list of GateKeeper Exchange Advanced Domain Gatewaysbelonging to Features this domain. User The User object GateKeeper IPusers of network Gateway Telephony services including Passcode andnetwork service. Office Phone Advanced the gateway Cellular PhoneFeatures Pager Home Phone

[0125] Gatekeeper Catalog Description

[0126] The gatekeeper catalog is an important part of the gatewaydatabase 51. It supports many of the features which are unique in theintegrated voice gateway system of the invention, e.g. follow me andwhite pages. The contents of the gatekeeper catalog tables are describedin the following tables. In preferred embodiments, certain of thecatalog tables, e.g. the Gateway Table (shown in Table 6 below), may bedivided into a plurality of smaller tables to facilitate access to theinformation contained in the tables.

[0127] Custom Date Table

[0128] The Custom Date table contains a list of custom dates for aspecific Follow Me rule. Table 3 describes the contents of the CustomDate table. TABLE 3 Custom Date Table Attribute Description CustomDateIDUnique ID used to identify this record FollowMeID Link to FollowMe entryCustom Date A custom date value

[0129] Follow Me Table

[0130] The Follow Me table contains a row for each Follow Me rule. AFollow Me rule is constructed by joining the Follow Me table with theFollow Me Filter table and the Custom Date table. Table 4 describes thecontents of the Follow Me table. TABLE 4 Follow Me Table AttributeDescription FollowMeID Unique ID used to identify this record DN Userthis FollowMe rule corresponds to FollowMeType DayOfWeek or OverrideStartDate Start date for this FollowMe rule EndDate End date for thisFollowMe rule StartTime Start time for this FollowMe rule EndTime Endtime for this FollowMe rule Monday Yes/No field. True (Yes) indicatesthat this FollowMe rule applies to this day of the week Tuesday Yes/Nofield. True (Yes) indicates that this FollowMe rule applies to this dayof the week Wednesday Yes/No field. True (Yes) indicates that thisFollowMe rule applies to this day of the week Thursday Yes/No field.True (Yes) indicates that this FollowMe rule applies to this day of theweek Friday Yes/No field. True (Yes) indicates that this FollowMe ruleapplies to this day of the week Saturday Yes/No field. True (Yes)indicates that this FollowMe rule applies to this day of the week SundayYes/No field. True (Yes) indicates that this FollowMe rule applies tothis day of the week DestinationType Specifies the type of destinationtelephone number DestinationTAddress Specifies the destination telephonyaddress to forward call to DestinationDescription User defined textDestinationName User defined text FilterEnabled Yes/No field. True (Yes)indicates that the source filter (if defined) should be used

[0131] Follow Me Filter Table

[0132] The Follow Me Filter table specifies a source filter for aspecific Follow Me record. Table 5 describes the contents of the FollowMe Filter table. TABLE 5 Follow Me Filter Table Attribute DescriptionFilterID Unique ID used to identify this record FollowMeID Connects tothe FollowMe table IncludeItem Indicates whether this item should beincluded in the source filter or not TaddressType Type of TelephonyAddress number string Taddress The calling Telephony Address Name Userdefined string

[0133] Gateway Table

[0134] The Gateway table contains a record for each gateway serverdefined in the gateway network. The directory dredger searches thedirectory and populates this table. Table 6 describes the contents ofthe Gateway table. TABLE 6 Gateway Table Attribute Description LicenseLicense data for a gateway network CTN Location ID Location ID for thegateway network in the Corporate Telephony Network numbering plan CTNNumbers Corporate Telephony Network Table numbers (or number patterns)Table represented by the gateway network for its PBX and its satellitePBXs CTN Access Trunk access code to the Corporate Code TelephonyNetwork Auto Attendant Dialing string for the auto attendant Prefixpreceding the extension number CTN Trunk Translation table forconverting from Translation the PBX numbering format to CTN canonicalformat UEP Domain Gateway network Uniform Extension Plan domain. HopOffPST PST NETWORK number patterns for NETWORK hop-off to PST NETWORK forthe Patterns gateway server VoIP Address Address parameter associatedwith Parameter the VoIP subsystem VoIP Encoding VoIP encoding parametersVoIP QoS QoS parameters for VoIP Parameters VoIP Hardware VoIP hardwareinstalled in the gateway server GateKeeper Default GateKeeper with whichthe gateway should register PST NETWORK PST NETWORK codes for the Codesgateway server Fall Back Fallback number for the gateway Number serverAttendant Telephone number for a gatewa Number yserver for Finderactivation/deactivation, Hop On from PST NETWORK, etc. Call LogDuration, in days, of the call log Configuration parameters Call AlertTime-out period for Call Alert inaction Timeout Maximum Maximum numberof outstanding CallBacks Per Callback on busy requests for each Useruser Manual Fallback Code for fallback to PST NETWORK Code FinderAcceptance code for answering a Acceptance redirected call Code Hop OnEnabled Whether Hop-On is enabled for the gatewa yserver Hop Off EnabledWhether Hop-Off to PST NETWORK is enabled PBX Trunk Trunk line interfacebetween the Interface gateway server and the PBX PBX Station Stationline interface between the Interface gateway server and the PBX CTI CTIlink between the gateway server and the PBX PBX Information PBXconfiguration information HopON for List of users, groups or containersOffNet Call List authorized to access Hop-On for Off- Net calls

[0135] Frequent Contacts Table

[0136] The Frequent Contacts table contains the frequent contacts foreach of the users in the User table. Table 7 describes the contents ofthe Frequent Contacts table. TABLE 7 Frequent Contacts Table AttributeDescription FrequentContactsID Unique ID used to identify this recordDestinationDN The DN that this Frequent Contact refers to FeDN Owner ofthis Frequent Contact record Description User defined text describingthis Frequent Contact entry

[0137] Routing Table

[0138] The Routing table contains supported numbers by gateway server.This table along with the Gateway table is used to build a routingtable. Table 8 describes the contents of the Routing table. TABLE 8Routing Table Attribute Description ID Unique ID used to identify thisrecord DN Associated Gateway distinguished name CTNLocationID CTN numberidentifying the Gateway RangeType CTN or HopOff FromRange Beginningrange of the local segment of the E164 Phone Number or the extensionnumber ToRange Ending range of the local segment of the E164 PhoneNumber or the extension number From PST Beginning range of theNETWORKRange Corresponding PST NETWORK address for the extension ToPSTEnding range of the Corresponding NETWORKRange PST NETWORK address forthe extension HopOffAreaCode When range type is ‘HopOff’, the area codeof the E164 number HopOffCountryCode When range type is ‘HopOff’, thecountry code of the E164 number Comment User comment

[0139] White Pages

[0140] The White Pages contains a record for each user in a specifiedZone. It is also possible for this table to contain all users in thegateway network. This table can be used as an enterprise wide whitepages. Table 9 describes the contents of the White Pages. TABLE 9 WhitePages Attribute Description ID Unique ID used to identify this record DNUser distinguished name CN User common name EmployeeNumber User'semployee number DepartmentName User's department FirstName First name ofuser MiddleName Middle initial LastName User last name OfficeExtensionUser office telephone extension Number number Office PST User office PSTNETWORK NETWORK telephone number Number Office Fax User office faxnumber Number CellularPhoneNumber User cellular telephone numberHomePhoneNumber User home telephone number Pager User pager number TitleUser title EmailAddress User email address PostalAddress User postaladdress City User city StateOrProvince User state or province PostalCodeUser zip/post code Country User country Location User locationDepartmentID User department GatewayName Gateway corresponding for thisuser DefaultGatekeeper Default Gatekeeper for this user Passcode Userpasscode Preferences User preferences FollowMeEnabled Yes/No field. True(Yes) implies that follow me is enabled for this user

[0141] Private Contacts

[0142] The Private Contacts table contains records of contacts userswant to track, but who are not listed in the White Pages. The formats inthe fields of the Private Contacts table are identical to those of thefields in the White Pages.

[0143] Temporary Contacts

[0144] When a user wishes to view the user's frequent contacts, atemporary table is built which contains only the user's frequent contactinformation. This table is constructed from the White Pages and PrivateContacts table. The formats of the fields of the Temporary Contactstable are identical to those of the fields in the White Pages.

[0145] Numbering Plan

[0146] The numbering plan is the equivalent of addressing for telephonenumbers. In a company's voice network, there are various mechanisms foraddressing a call to another party, e.g. a PST NETWORK number and anextension number. There are also various access mechanisms for therespective addressing schemes. Current large PBXs are flexible in theirnumbering plans, and can support numerous types of dialing methods. InUniform Numbering Plans (UNP), telephones at any of a number of sitesmay be dialed simply by dialing an extension number. Such uniformnumbering plans may allow for extensions of different lengths (i.e.,number of digits). In an Enterprise Telephone Number (ETN) plan,telephones at other sites in the company may be dialed using an accesscode, commonly an “8”, followed by a location code (typically 3 digits),followed by the extension. In a PST NETWORK Numbering plan, telephonesat other sites may be dialed by dialing the public telephone number (perthe ITU E.164 specification). In a trunk group access numbering plan,telephones at a particular remote site may be dialed by dialing anaccess code for a group of trunks, followed by the extension number.

[0147] The UNP and ETN methods are commonly limited to single vendor PBXsolutions. Key systems are far more limited in their numbering plancapabilities. Key systems typically support PST NETWORK dialing andperhaps Tie Trunks, but do not support UNP or ETN methods.

[0148] The gateway server facilitates a transparent installation withrespect to the enterprise's existing numbering plan. The gateway networkpermits users to continue dialing according to the same numbering planthey use with the PBX alone. the ARS/Numbering Plan routing and digitmanipulation tables are reconfigured to deliver calls to remotelocations to the gateway server. Thus, the gateway server does notrequire that the numbering plan be changed.

[0149] In a voice gateway system, as illustrated in FIG. 1, the gatewayservers can support UNP and ETN methods, and can support these methodsin multi-vendor environments which include PBXs and/or hybrid/keysystems over an IP network. The gateway network classifies telephonenumbers as PST NETWORK (E.164), ETN (Location+Extension) and UNP(Extension). The three plans are merged into a single numbering schemefor the enterprise by adding configurable prefixes to the PST NETWORKand ETN numbers. For a PST NETWORK number, the PST NETWORK prefix(typically “9”) is appended to the PST NETWORK number. For ETN numbers,the ETN prefix (typically “8”) is appended to the telephone number.

[0150] The telephone numbers may undergo pre- and post-processing asthey traverse the gateway network depending on the capabilities of thePBXs and the preferences of system administrators. For example, if acaller PBX has the capability, and the system administrator chooses toconfigure the PBX such that all calls are delivered to the gatewayserver with the telephone number in the gateway network format, the callcan be compared directly against the routing tables for routing to thedestination. If a PBX does not have the capability, or if the systemadministrator chooses not to configure the tables in the PBX, then thecaller gateway server can perform incoming digit translation. Thepreprocessing can be set up to apply the same rules to all trunks, orcan apply, e.g. PST NETWORK translation to calls on trunks 1-8, and ETNtranslation to calls on trunks 9-16. The preprocessed numbers can thenbe compared against the routing tables for routing to the destination.

[0151] At the destination, if the called PBX has the capability, and thesystem administrator chooses to configure the PBX to receive call withthe telephone number in the gateway network format, then the gatewayserver delivers the calls without the need for postprocessing thetelephone numbers. If the PBX does not have the capability to receivecall with the telephone number in the gateway network format, or if thesystem administrator chooses not to so configure the PBX, then thecalled gateway server can perform outgoing digit translation. The calledtelephone number associated with each call received may be formatted todeliver an extension, and ETN number or a PST NETWORK number, withappropriate prefixes, for the particular PBX.

[0152] Hybrid/key systems with analog trunks typically have an automatedattendant unit which answers calls and prompts the caller to enter anextension to reach a called telephone. This is known as a two stagedialing scheme, and is commonly used in smaller office environments. Thegateway server permits the caller to directly dial a called telephonewithout having to deal with an automated attendant. The caller may startthe call either by dialing an ETN number (8+LOCATION+Extension), a UNPnumber (extension) or place the call from the white pages directory viathe browser interface. The called gateway may be configured to deliverthe call directly to the called telephone. When the call arrives at thegateway server, the gateway server alerts the analog trunk. When thecall is answered by the PBX, the gateway server plays the configuredprefix string followed by the extension number. The call will then alertdirectly at the called telephone.

[0153] The caller will hear normal ringing throughout the process untilthe called telephone is answered. The net effect is that the inventionreduces two-stage dialing into a one-stage addressing method.

[0154] In the following descriptions of several functions of theintegrated voice gateway system of the invention, reference will be hadto FIGS. 4-47 and 50-58 which illustrate the configuration of thegateway networks and the components which support the functionsdescribed. In the interest of simplifying the FIGs., only thosecomponents which are necessary to describe the respective functions aredepicted in the corresponding FIGs. For example, the telephone networksoftware and hardware (FIG. 3) will be represented by the respectivesoftware drivers (e.g., analog driver 67 representing the trunk 66,analog driver 67 and analog trunk hardware 68).

[0155] In certain instances in which signals are depicted, althoughconnections between components are not explicitly depicted, referencenumerals coupled to the signals are understood to be referring to thedescribed interface (e.g., station analog port, trunk, etc.). In thedescriptions of the functions, a telephone which is coupled to a PBX ina company's gateway network will be referred to as a gateway telephone,and a telephone which is outside the company and is coupled to the PSTNETWORK will be referred to as a PST NETWORK telephone. The gatewaynetwork and its components at the calling party's end will generally bereferred to as the “caller” components, e.g. “caller gateway server”.The gateway network and its components at the called party's end willgenerally be referred to as the “called” components, e.g. “calledgateway server”.

[0156] In the description of the operation of an integrated voicegateway system of the invention in FIGS. 4-47 and 50-58, in generalcomponents comprising the gateway network at the caller end of atelephone call are identified by their respective reference numeralsshown in FIGS. 2-3 (e.g. caller gateway server 26) and componentscomprising the gateway network at the called end of a telephone callwill have as their reference numerals 100 plus the respective referencenumeral of the corresponding component of gateway network at the callerend (e.g. called gateway server 126). Additional components outside boththe caller gateway network and the called gateway network will have astheir reference numerals 200, 300, 400, etc., plus the respectivereference numeral of the corresponding component of gateway network atthe caller end (e.g. PST NETWORK telephone 238).

[0157] In FIGS. 4-47 and 50-58, unless otherwise specified in aparticular method or scenario, the interface between the PBX and thegateway server may be illustrated as an analog trunk interface and thetelephone drivers in the gateway servers may be illustrated as analogdrivers. However, as illustrated in FIG. 3 and described in reference toFIG. 3 and elsewhere herein, the interface between the PBX and thegateway server may include analog trunk, DS-1 (T1/E1, PRI, QSIG) and/oranalog station lines, with each interface supported by a correspondingtelephone driver. Therefore, the illustration of the interface betweenthe PBX and the gateway server as an analog trunk and the telephonedrivers in the gateway as analog drivers is by way of illustration, andin no way limits the respective described operations to the particularinterface illustrated in the examples.

[0158] In FIGs. depicting methods or scenarios in which a call hops-onto or hops-off from a gateway network, a third telephone company centraloffice will be identified as CO3 13.

[0159] In the description of the operation of an embodiment of anintegrated voice gateway system of the invention with respect to FIGS.4-58, telephone calls are generally described as being initiated by acaller lifting a handset and dialing a telephone number. Likewise, theconnection is generally described as being made when a called partylifts the handset and answers the call. The integrated computertelephone system of the invention provides the user with an integrated,comprehensive, and easy to use PC Call Control capability via a webbrowser interface. The PC Call Control capability is described below. Itis understood that all of the methods and scenarios of operationillustrated by the FIGs., and described herein, may be controlled by theuser from the telephone via DTMF buttons or from the desktop workstationvia the web browser interface. The PC Call Control features of theintegrated voice gateway system of the invention are described below.

[0160] Basic PST NETWORK Call

[0161] In a preferred embodiment, the integrated computer telephonesystem of the invention provides the capability to place a telephonecall from a caller gateway telephone to a called gateway telephone viathe PST NETWORK. Referring to FIG. 4, a caller (not illustrated)initiates a call by picking up the handset on the caller telephone 38and dialing an ARS code, e.g. 9, plus a PST NETWORK telephone number orother digit string. The caller PBX 34 reviews the dialed number againstthe information in the ARS tables to select a trunk group. It may thenmodify the digit string, deleting and inserting digits for properaddressing. The caller PBX 34 delivers the call to CO1 12. CO1 12 routesthe telephone call through the PST NETWORK 16 to CO2 14. CO2 14 deliversthe call to the called PBX 134 via an available trunk and may transmit asubset of the called telephone number. The called telephone 138 ringsand is answered by the called party (not illustrated).

[0162] Basic VoIP Call

[0163] In a preferred embodiment, the gateway network provides thecapability to place a telephone call from a caller gateway telephone toa called gateway telephone via an IP network. This is referred to hereinas a VoIP call. It is also referred to as “Inter-PBX Toll Bypass,”because, as the term indicates, a long distance toll between remote PBXsis avoided by using the IP network.

[0164] Referring to FIG. 5, a caller (not illustrated) initiates a callby picking up the handset on the caller telephone 38 and dialing an ARScode, e.g. “9” for an off-net call or “8” for an on-net call, plus a PSTNETWORK telephone number or other digit string. The caller PBX 34reviews the digital number against the information in the ARS tables andselects a trunk group 35 coupled to the caller gateway server 26.

[0165] The caller PBX 34 may modify the dialed digit string, deletingand inserting digits for proper addressing on a trunk in that group. Thecaller gateway analog driver 67 receives the call. The caller gatewayserver 26 performs internal operations to determine the IP address ofthe called gateway server 126. Referring again to FIG. 3, within thecaller gateway server 26, the gateway engine 50 requests the gatekeeperagent 52 to get an address. The gatekeeper agent 52 places an H.323compliant request to the gateway gatekeeper 53. The gateway gatekeeper53 references tables in the gateway database 51 to determine the calledgateway server 126 and its address. The caller gateway VoIP driver 62transmits packets addressed to the IP address of the called gatewayserver 126 via the IP network 18. The caller gateway server 26 andcalled gateway server 126 communicate via the IP network 18 to initiatea duplex H.323 call. The called gateway server 126 then selects atelephone trunk 135 to deliver the call to the called PBX 134. Thecalled gateway server 126 initiates the call, including the calledtelephone number, to the called PBX 134. The called PBX 134 interpretsthe received telephone number to select a called telephone 138 to ring.The called telephone 138 rings and when answered by the called party(not illustrated) the connection is made. The connection event maypropagate through the system.

[0166] Hop-off to PST NETWORK Call

[0167] In a preferred embodiment, the gateway network provides thecapability to place a telephone call to an outside-of-the-company PSTNETWORK destination via the IP network. A user in the company can call along distance PST NETWORK destination by dialing the telephone number asusual. The caller gateway network will set up the call to be carried viathe IP network to a called gateway server within the company which isclosest to the destination telephone, and make a PST NETWORK connectionto “hop-off” to the PST NETWORK destination.

[0168] The system administrator for each gateway network determineswhich local hop-off destinations the gateway network will support andconfigures the gateway server accordingly. The system administrator alsoconfigures the gateway server to identify those gateway servers fromwhich the local gateway server will accept hop-off calls. The gatewayservers can be configured to support hop-off to local PST NETWORK callsand hop-off to long distance PST NETWORK calls. The ARS table of the PBXin the originating gateway network is configured accordingly for thehop-off calls to be routed to the gateway server.

[0169] In preferred embodiments of the invention, there are severaldifferent methods in which hop-off to PST NETWORK may be implemented.The different methods take into consideration variations in theconfigurations of gateway networks at different installations, e.g. PBXconfiguration and capability, CTI capabilities, additional hardwareavailability and voice channel capacity.

[0170] Table 10 identifies differences in the configuration for threehop-off to PST NETWORK methods in preferred embodiments of theinvention. TABLE 10 Hop-off to PST NETWORK Methods T1 Analog trunkstation channels per ports per hop-off hop-off CTI call (at call (at PBXMethod Transparent support destination) destination) support ATransparent No 0 1 None B Transparent No 1 1 (only Trunk to during trunksetup) transfer C Transparent No 1 0 Trunk to trunk call

[0171] Hop-off to PST NETWORK will be described with respect to FIGS.6-14.

[0172] FIGS. 6-14 depict certain components of a caller gateway network4 and a called gateway network 104 which support the respective hop-offto PST NETWORK methods. Connections between the components are not shownin order to simplify the FIGs. The set up of the hop-off and theresulting PST NETWORK call are depicted by a heavy solid line. An arrowhead on a solid line indicates the direction of data flow or call flow,as appropriate. A solid line without an arrow head indicates the data orcall flows in both directions.

[0173] Hop-off to PST NETWORK method “A”, listed in Table 10, implementsa transparent hop-off to PST NETWORK. One analog station port is used atthe destination end of the call during hop-off to PST NETWORK and forthe remainder of the call. No T1 trunk channels are required for thehop-off. Method “A” does not use CTI support.

[0174] Hop-off to PST method “A” will be described with reference toFIGS. 6-7. All steps described below are at the called gateway network104. Referring to FIG. 6, upon receiving a VoIP call from the callergateway server 26, the analog station driver 174 in the called gatewayserver 126 places a call from an analog station 175 (75 in FIG. 3) tothe hop-off destination called PST NETWORK telephone 238. Referring toFIG. 7, the called gateway server 126 then connects the TDM bus 84 (FIG.3) time slot of the new PST NETWORK call with that of the incoming VoIPcall, completing the hop-off to PST NETWORK call.

[0175] Hop-off to PST NETWORK method “B”, listed in Table 10, implementsa transparent hop-off to PST NETWORK. One analog station port is used atthe destination end of the call only during setup of the hop-off to PSTNETWORK. One T1 trunk channel is used during setup of the hop-off andfor the remainder of the call. The PBX includes trunk-to-trunk transfercapability. Method “B” does not use CTI support.

[0176] Hop-off to PST NETWORK method “B” will be described withreference to FIGS. 8-12. Referring to FIG. 8, upon receiving a call fromthe caller gateway server 26, the called gateway server 126 makes a callfrom an analog station 174 in the called gateway server 126 to a T1trunk 137 in the called gateway network 104 by dialing a specified“hop-off to gateway trunk” telephone number. Referring to FIG. 9, thecalled gateway server 126 answers the call at the gateway trunk 137 andrecognizes the call as a hop-off to PST NETWORK call. Referring to FIG.10, the called gateway server 126 makes a hook-flash transfer to thehop-off destination telephone 238 number. Referring to FIG. 11, thecalled gateway server 126 hangs up the analog station 133. Referring toFIG. 12, the called gateway server 126 connects the TDM bus 84 (FIG. 3)time slot of the new hop-off call with the time slot of the incomingVoIP call.

[0177] Hop-off to PST NETWORK method “C”, listed in Table 10, implementsa transparent hop-off to PST NETWORK. One T1 trunk channel is usedduring setup of the hop-off and for the remainder of the call. No analogports are used. The PBX includes trunk to trunk call, i.e. tie trunk toCO trunk, capability. Method “C” does not use CTI support.

[0178] Hop-off to PST NETWORK method “C” will be described withreference to FIGS. 13-14. Referring to FIG. 13, upon receiving a callfrom the caller gateway server 26, the called gateway server 126 makes acall from a T1-tie-trunk channel to the called, i.e. hop-off, PSTNETWORK number. Referring to FIG. 14, the called gateway server 126connects the TDM bus 84 time slot of the new hop-off call with the timeslot of the incoming VoIP call.

[0179] Hop-on to VoIP Call

[0180] In a preferred embodiment, the gateway network provides thecapability to place a telephone call from a PST NETWORK telephone to atelephone on a distant gateway network via a VoIP call. This capabilitycan be combined with the hop-off to PST NETWORK capability, describedabove, to enable a user to place a long distance call from a caller PSTNETWORK telephone to a called PST NETWORK telephone by placing a localcall to a local gateway network. The telephone call is then carried viaa VoIP call between two gateway networks. Moreover, the destinationgateway network for the VoIP call may be a remote gateway network or thelocal gateway which receives the call from the PST NETWORK telephone.

[0181] It will be seen below that in scenarios in which the calledgateway is local to the caller telephone (scenarios C and D, below), theconnection to the called telephone will not actually be a VoIP call.However, in such scenarios, the invention provides an access mechanismto the company's telephone system whereby a user must be identified andpass through a passcode security scheme. Calls placed by the user areidentified by that user's caller ID (for all calls, local and remote).This feature allows companies to choose to employ hop-on whereby a tollfree access number may be given to employees so that they may call intothe company, and hop-off, and the billing for the call will be linked tothe company's PBX rather than the user's calling card.

[0182] Table 11 identifies scenarios of hop-on to VoIP calls inpreferred embodiments of the invention. TABLE 11 Hop-on to VoIPScenarios Called Called Scenario Telephone Gateway A Gateway Remote BPST Remote NETWORK (hop-off) C Gateway Local D PST Local NETWORK(hop-off)

[0183] FIGS. 15-18 depict certain components of a caller gateway network4 and a called gateway network 104 which support the respectivescenarios of hop-on to VoIP. Connections between the components are notshown in order to simplify the FIGs. All four hop-on to VoIP scenariosare initiated with a common set of steps. The steps common to all fourhop-on to VoIP scenarios will be described with respect to FIG. 15.

[0184] Referring to FIG. 15, a caller (not illustrated) at a PST NETWORKtelephone 238 lifts the handset and dials a “Remote Access” telephonenumber for the local caller gateway network 4. The call is received atCO1 12 which alerts the caller PBX 34 with the call. The caller PBX 34routes the call to the caller gateway server 26. The caller gatewayserver 26 answers the call and interacts with the caller via interactivevoice response (IVR). Using dual tone multi-frequency (DTMF) touchtones, the caller responds to voice prompts which may include thecaller's ID, password, etc. The caller gateway server 26 thenauthenticates the caller against information in the gateway databaseimage of the NDS directory information. If the caller gateway server 26is able to authenticate the caller, the caller gateway server 26 thenprovides the caller with a dial tone. The caller then dials thetelephone number of the desired called telephone. Based on the dialedtelephone number, the caller gateway server selects a destination.

[0185] In hop-on to VoIP scenario “A”, the called telephone is a gatewaytelephone in a remote gateway network. Scenario “A” will be describedwith reference to FIG. 16. The remaining steps are the same as thecorresponding steps for a basic VoIP call described above. The callergateway server 26 selects the called gateway server 126. The callergateway VoIP driver 62 transmits packets addressed to the IP address ofthe called gateway network 126 via the IP network 18. The caller gatewayserver 26 and called gateway server 126 communicate via the IP network18 to establish a duplex H.323 call. The called gateway server 126 thenselects a telephone trunk 135 to deliver the call to the called PBX 134.The called gateway server 126 transmits the called telephone number tothe called PBX 134. The called PBX 134 interprets the received telephonenumber to select a called telephone 138 to ring. The called telephone138 rings and is answered by the called party (not illustrated).

[0186] In hop-on to VoIP scenario “B”, the called telephone is a PSTNETWORK telephone located near a remote gateway network. As indicatedabove for the steps common to all three hop-on to VoIP scenarios, thecaller gateway server 26 searches the caller gateway routing table toselect a destination gateway network, and selects the called gatewaynetwork 126. The remainder of the call setup may employ any one of thethree hop-off to PST NETWORK scenarios described above.

[0187] In hop-on to VoIP scenario “C”, the called telephone is a gatewaytelephone coupled to the caller gateway network 4. Scenario “C” will bedescribed with reference to FIG. 17. The caller gateway server 26 (whichis also the called gateway server) selects a telephone trunk 135 todeliver the call to the caller PBX 34 and transmits the called telephonenumber to the caller PBX 34. The caller gateway server 26 couples theinbound caller's trunk 35 with the trunk 135 for the called telephone338. The caller PBX 34 interprets the telephone number to select atelephone to ring. The called telephone 338 rings and is answered by thecalled user (not illustrated).

[0188] In hop-on to VoIP scenario “D”, the called telephone is a PSTNETWORK telephone located near the caller gateway network 4. Scenario“D” will be described with respect to FIG. 18. The caller gateway server26 (which is also the called gateway server) selects a telephone trunk135 to deliver the call to the caller PBX 34 and transmits the calledtelephone number to the caller PBX 34. The caller gateway server 26couples the inbound caller's trunk 35 with the trunk 135 for the calledtelephone 438. The caller PBX 34 interprets the telephone number anddetermines that the call is for a local PST NETWORK telephone. Thecaller PBX 34 selects an external trunk coupled to CO1 12 and dials thedestination telephone number. CO1 12 routes the call to the calledtelephone 438. The called telephone 438 rings and is answered by thecalled user (not illustrated).

[0189] Fallback to PST NETWORK

[0190] In a preferred embodiment, the gateway server constantly monitorsthe quality of service (QoS) during VoIP network calls using thestandard realtime transport control protocol (RTCP). The QoS may bespecified in terms of end-to-end delay, IP packet loss and jitter. Ifthe QoS falls below a predetermined level set by a system administrator,the gateway server sets up an alternate connection over the PST NETWORKand switches the call to the PST NETWORK connection.

[0191] The caller can also initiate a fallback to PST NETWORK if thecaller decides that the quality of the voice transmission hasdeteriorated to an unacceptable level. The caller can initiate afallback to PST NETWORK by entering a specified DTMF key sequence on thetelephone, e.g. a combination of the “star” (*) and “pound sign” (#)keys. A system administrator can configure a gateway server to allow ordisallow caller-initiated fallback to PST NETWORK.

[0192] In preferred embodiments of the invention, there are severaldifferent methods in which fallback to PST NETWORK may be implemented.The different methods take into consideration variations in theconfigurations of gateway networks at different installations, e.g. PBXconfiguration and capability, CTI capabilities, additional hardwareavailability and voice channel capacity. In addition, some of themethods allow fallback to PST NETWORK to be transparent to the user,while other methods do not provide transparent fallback to PST NETWORK.In the case of transparent fallback to PST NETWORK, the users willsimply perceive that the quality of voice suddenly improves. In the caseof non-transparent fallback to PST NETWORK, the conversation will beinterrupted by the gateway server while the fallback to PST NETWORKtakes place.

[0193] Table 12 identifies differences in the configuration for methodsof fallback to PST NETWORK in preferred embodiments of the invention.TABLE 12 Fallback to PST NETWORK Methods T1 Analog Trunk stationchannels per ports per fallback fallback call call (at CTI (at each eachend PBX Method Transparent support end of call) of call) support ATransparent No 1 1 Hunt group for gateway network analog lines BTransparent No 2 1 (only PST during NETWORK setup) trunk to tie trunktransfer; Hunt group for gateway network analog lines C Transparent No 20 Trunk to trunk call D Non- Yes 0 0 None (except Transparent CTIsupport) E Non- Yes 0 1 (only Hunt group Transparent during for gatewaysetup) network analog lines (in addition to CTI)

[0194] Fallback to PST NETWORK will be described with respect to FIGs.19-43. FIGS. 19-43 depict certain components of a caller gateway network4 and a called gateway network 104 which support the respective methodsof fallback to PST NETWORK. Connections between the components are notshown in order to simplify the FIGs. An ongoing VoIP telephone call isrepresented by a heavy dashed line. The set up of the fallback and theresulting PST NETWORK call are depicted by a heavy solid line. Arrowheads at one end of a dashed line or solid line indicate the directionof data flow or call flow. A dashed line or solid line without an arrowhead indicates the call or data flows in both directions.

[0195] Fallback to PST NETWORK method “A”, listed in Table 12,implements a transparent fallback to PST NETWORK. One T1 channel and oneanalog station port are used at each end of the call during fallback toPST NETWORK and for the remainder of the call. The PBX includes a huntgroup for the gateway network analog stations. Method “A” does not useCTI support.

[0196] Fallback to PST NETWORK method “A” will be described withreference to FIGS. 19 to 22. Referring to FIG. 19, an ongoing VoIP callis routed between a caller telephone 38 and a called telephone 138through the caller PBX 34 and called PBX 134, the caller gateway server26 and the called gateway server 126, through the IP network 18. Infallback to PST NETWORK method “A”, when the caller gateway server 26determines that the QoS has fallen below the level specified by thesystem administrator, the caller gateway server 26 initiates a call froman analog station in the caller gateway server 26 to the hunt group ofanalog stations in the called gateway server 126. The call initiation,and subsequent signaling, is routed from the caller station analogdriver 74 through the caller PBX 34, the PST NETWORK 16 (including therespective CO's 12,14), and the called PBX 134 to the called stationanalog driver 174 in the called gateway server 126. Referring to FIG.20, the called gateway server 126 sends a “fallback ready” DTMF toneback to the caller gateway server 26. The DTMF tone is routed from thecalled gateway server 126 through the called PBX 134, the PST NETWORK 16and the caller PBX 34 to the called gateway server 26. Referring againto FIG. 19, when the caller gateway server 26 receives the fallbackready DTMF tone, the caller gateway server 26 sends the original calledtelephone number to the called gateway server 126, and then waits for ashort period, e.g. 200 milliseconds (msec), to allow the called gatewayserver 126 to receive the telephone number. Referring to FIG. 21, thecaller gateway server 26 and the called gateway server 126 then connectthe respective TDM bus 84 (FIG. 3) time-slots of the new PST NETWORKcall with that of the respective T1 channels of the original VoIP call,thereby establishing the telephone call via the PST NETWORK 16.Referring to FIG. 22, the caller gateway server 26 and called gatewayserver 126 then disconnect the original VoIP call. Fallback to PSTNETWORK method “B”, listed in Table 12, implements a transparentfallback to PST NETWORK. Two T1 channels are used at each end of thecall during fallback to PST NETWORK and for the remainder of the call.One analog station port is used at each end only during fallback to PSTNETWORK. The PBX includes trunk to trunk transfer capability, includingboth CO trunk to tie trunk and CO trunk to CO trunk. Method “B” does notuse CTI support.

[0197] Fallback to PST NETWORK method “B” will be described withreference to FIGS. 23 to 29. Referring to FIG. 23, an ongoing VoIP callis routed between a caller telephone 38 and a called telephone 138through the caller PBX 34 and called PBX 134, the caller gateway server26 and the called gateway server 126, through the IP network 18. Infallback to PST NETWORK method “B”, when the caller gateway server 26determines that the QoS has fallen below the level specified by thesystem administrator, the caller gateway server 26 initiates a call froman analog station 73 in the caller gateway server 26 to the hunt groupof analog stations in the called gateway server 126. The callinitiation, and subsequent signaling, is routed from the caller stationanalog driver 74 in the caller gateway server 26 through the caller PBX34, the PST NETWORK 16 (including the respective CO's 12, 14), and thecalled PBX 134 to the called station analog driver 174 in the calledgateway server 126. Referring to FIG. 24, the called gateway server 126sends a “fallback confirm” DTMF tone back to the caller gateway server26. The DTMF tone is routed from the caller gateway server 126 throughthe called PBX 134, the PST NETWORK 16 and the caller PBX 34 to thecalled gateway server 26. Referring again to FIG. 23, when the callergateway server 26 receives the fallback confirm DTMF tone, the callergateway server 26 sends the original caller and called telephone numbersto the called gateway server 126. Referring to FIG. 25, both the callergateway server 26 and the called gateway server 126 place a hook-flashtransfer to the respective caller gateway network trunk 35 and calledgateway network trunk 135, respectively, by dialing a “fallback togateway network trunk” number. Continuing to refer to FIG. 25, both thecaller gateway server 26 and called gateway server 126 answer the callat the respective gateway network trunks 67, 167 and recognize the callas a fallback call. Referring to FIG. 26, both the caller gateway server26 and called gateway server 126 then hang up the respective analogstations 74, 174. Referring to FIG. 27, the called gateway server 126sends a “fallback ready” DTMF tone to a new trunk channel for the PSTNETWORK call, and then waits for a short period, e.g. 200 msec, to allowthe caller gateway server 26 to receive the DTMF tone. Referring to FIG.28, the caller gateway server 26 and the called gateway server 126 thenconnect the respective TDM bus 84 (FIG. 3) time-slot of the new trunk 35channel with that of the T1 channel of the original VoIP call, therebyestablishing the telephone call via the PST NETWORK 16. Referring toFIG. 29, the caller gateway server 26 and called gateway server 126 thendisconnect the original VoIP call.

[0198] Fallback to PST NETWORK method “C”, listed in Table 11,implements a transparent fallback to PST NETWORK. Two T1 channels areused at each end of the call during fallback to PST NETWORK and for theremainder of the call. No analog station ports are used. The PBX usestrunk to trunk call capability, i.e. tie trunk to CO trunk on the callergateway server side, and CO trunk to tie trunk on the called gatewayserver side. The PBX is configured to enable a trunk to trunk call.

[0199] Fallback to PST NETWORK method “C” will be described withreference to FIGS. 30 to 33. Referring to FIG. 30, an ongoing VoIP callis routed between a caller telephone 38 and a called telephone 138through the caller PBX 34 and called PBX 134, the caller gateway server26 and the called gateway server 126, through the IP network 18. Infallback to PST NETWORK method “C”, when the caller gateway server 26determines that the QoS has fallen below the level specified by thesystem administrator, the caller gateway server 26 initiates a call froma tie trunk channel to the tie trunk channel of the called gatewayserver 126. The call is initiated by dialing a specified telephonenumber. This step may be a multi-step process, and the implementationmay be PBX specific. After initiating the call, the caller gatewayserver 26 waits to receive a “fallback ready” DTMF tone. Referring toFIG. 31, after the called gateway server receives the tie-trunk call,the called gateway server 126 sends the “fallback ready” DTMF tone tothe caller gateway server 26. Referring again to FIG. 30, the callergateway server 26 sends the original called telephone number to thecalled gateway server 126, and then waits for a short period, e.g. 200msec. Referring to FIG. 32, the caller gateway server 26 and the calledgateway server 126 then connect the respective TDM bus 84 time-slot ofthe new trunk channel with that of the T1 channel of the original VoIPcall, thereby establishing the telephone call via the PST NETWORK 16.Referring to FIG. 33, the caller gateway server 26 and called gatewayserver 126 then disconnect the original VoIP call.

[0200] Fallback to PST NETWORK method “D”, listed in Table 11,implements a non-transparent fallback to PST NETWORK. No Ti channels areused for the PST NETWORK call after the fallback process. No analogstation ports are used. The PBX uses CTI. The gateway servers exchangeproprietary messages among themselves using IP sessions which areseparate from those used for the voice call. Fallback to PST NETWORKmethod “D” may be used if the IP connection between the caller gatewayserver and called gateway server is still good enough to supporttransmission of data messages. If the IP connection is not adequate forthe caller gateway server and called gateway server to exchange datamessages, the respective gateway servers may fallback to a PST NETWORKcall using method “E” which will be described below.

[0201] Fallback to PST NETWORK method “D” will be described withreference to FIGS. 34 to 38. Referring to FIG. 34, an ongoing VoIP callis routed between a caller telephone 38 and a called telephone 138through the caller PBX 34 and called PBX 134, the caller gateway server26 and the called gateway server 126, through the IP network 18. Infallback to PST NETWORK method “D”, when the caller gateway server 26determines that the QoS has fallen below the level specified by thesystem administrator, the caller gateway server 26 initiates a “fallbackrequest” message over the IP network 18. The “fallback request” messagecontains the caller and called telephone numbers. The caller gatewayserver waits to receive a “fallback ready” message. Referring to FIG.35, after receiving the “fallback request” from the caller gatewayserver 26, the called gateway server 126 sends a “fallback ready”message to the caller gateway server 26 over the IP network 18.Referring to FIG. 36, the caller gateway server 26 manages the TDM bus84 time slots to announce the fallback to both the caller and calledparties. Referring to FIG. 37, the caller gateway server 26 uses the CTIlink to place the current VoIP call on hold. The caller gateway server26 then uses the CTI link to make a PST NETWORK call from the callertelephone 38 to the called telephone 138. The called gateway server 126detects the incoming call and uses the CTI link to place the VoIP callon hold and to pick up the PST NETWORK call. Referring to FIG. 38, thecaller gateway server 26 and called gateway server 126 then disconnectthe original VoIP call.

[0202] In fallback to PST NETWORK method “E”, listed in Table 11, no T1channels are used for the PST NETWORK call after the fallback process.One analog station port is used during the fallback to PST NETWORKprocess. The PBX includes CTI and has a hunt group for the gatewaynetwork analog stations.

[0203] Fallback to PST NETWORK method “E” will be described withreference to FIGS. 39 to 46. Referring to FIG. 39, an ongoing VoIP callis routed between a caller telephone 38 and a called telephone 138through the caller PBX 34 and called PBX 134, the caller gateway server26 and the called gateway server 126, through the IP network 18. Infallback to PST NETWORK method “E”, when the caller gateway server 26determines that the QoS has fallen below the level specified by thesystem administrator, the caller gateway server 26 initiates a telephonecall from an analog station in the caller gateway server 26 to the huntgroup of analog stations in the called gateway server 126. Referring toFIG. 40, the called gateway server 126 sends a “fallback confirm” DTMFtone to the caller gateway server 26.

[0204] Referring again to FIG. 39, the caller gateway server 26 sendsthe caller and called telephone numbers to the called gateway server126. Referring to FIG. 41, both the caller gateway server 26 and thecalled gateway server 126 manage the TDM bus 84 time slots to announcethe fallback to PST NETWORK to the caller and called parties,respectively. Referring to FIGS. 42-45, the caller gateway server 26 andcalled gateway server 126 use CTI to put the current VoIP call on hold(FIG. 42); then to put the new PST NETWORK call on hold (FIG. 43); andthen to make a call from the analog station in the respective gatewaynetworks to the caller (FIG. 44), and answer the call for the caller(FIG. 45). Referring to FIG. 46, the caller gateway server 26 and calledgateway server 126 then hang up on the respective analog stations, anddisconnect the original VoIP call.

[0205] Fallback to PST NETWORK During Call Setup

[0206] In addition to providing the capability to fallback to PSTNETWORK during a VoIP call, the gateway server provides the capabilityto fallback to the PST NETWORK during setup of a call if the call cannotbe connected through the called gateway server. Fallback to PST NETWORKduring call setup may employ any of the five methods described above forfallback to PST NETWORK during a call. The method employed will dependon the configuration of the particular caller gateway network, e.g. PBXconfiguration and capability, CTI capabilities, additional hardwareavailability and voice channel capacity. However, in each of the fivemethods described above, fallback to PST NETWORK during call setup doesnot include the steps which keep the VoIP call connected until the PSTNETWORK call is completed, since there is no current VoIP call tomaintain. The fallback to PST NETWORK during call setup capabilityprovided by the gateway server of the invention is an improvement overcurrent systems. In many current systems, if a caller gateway placing acall to a remote gateway cannot access the remote gateway, the callergateway will “busy out” all of its trunks, or at least a group of trunksallocated to the remote destination. Then, as succeeding gateways findeither the remote gateway or the initial caller gateway inaccessible,they will “busy out” their own respective trunks. This “domino” effectcan lead to the entire network being brought down because an individualsegment of the network is down. However, the gateway server avoids thisproblem by simply setting up the call to be routed back through the PBX.In the gateway network of the invention, there is no need for the callergateway to busy itself out merely because the caller gateway found aremote called gateway to be inaccessible.

[0207] Path Replacement

[0208] The gateway server supports redirection of an incoming call froma first PBX, and its associated gateway server, to a second PBX, and itsassociated gateway server, as a result of a call forward (including calltransfer, or follow-me). If both the call before (the initial call) andthe call after (the final call) a call forward are VoIP calls, the finalcall can take a direct path between the caller gateway server and called(transfer) gateway server. This “path replacement” feature eliminatesunnecessary loops after a call forward.

[0209] VoIP is sensitive to tandem compression, i.e., when a call isconverted to and from a VoIP call twice in series during the call'stransmission. Tandem compression results in a substantial drop in voicequality, often to unacceptable quality levels. In a preferredembodiment, the gateway server of the invention provides a pathreplacement feature which substantially improves the quality of voicetransmission in a call forwarded call, and improves the utilization ofgateway network resources. The quality of voice is substantiallyimproved, because path replacement eliminates the tandem VoIP callsafter a call forward. The utilization of gateway network resources issubstantially improved because -an unnecessary loop is avoided. After acall forward, there are two PBX's and their respective gateway serversinvolved in the call instead of three PBX's and gateway servers.

[0210] Path replacement is best described with an example: A call fromBoston to Los Angeles is transferred by the Los Angeles party to a NewYork destination. In current systems, there would be two calls coupledin the Los Angeles PBX, i.e. a call between Boston and Los Angeles and acall between New York and Los Angeles. With IP telephony, this wouldresult in an unacceptable tandem compression arrangement. However thegateway server recognizes that a direct and shorter path exists, namelydirect communication between Boston and New York gateway networks. Thegateway server replaces the routing path to place one call following thedirect and shorter path, and with a single compression path. Inimplementing a path replacement, the gateway servers exchange messagesto communicate with each other. The gateway servers use CTI to set up apath replacement.

[0211] Path Replacement for Call Transfer

[0212] A gateway network user can transfer an incoming call to anothergateway network telephone. If an incoming call is a VoIP call, and ifthe call is transferred to a remote gateway user via VoIP, the gatewayserver will implement path replacement to eliminate the intermediate PBXloop back. As a result, there will be one direct VoIP link in thetransferred call.

[0213] In the path replacement for call transfer methods describesbelow, the original call is placed from the caller telephone at thecaller gateway network to the called telephone at the called gatewaynetwork, and is then transferred to the transfer telephone at thetransfer gateway network. The call transfer may be either unsupervisedor supervised, and may be initiated by the called user from a webbrowser CTI application or from the telephone.

[0214] Unsupervised Call Transfer from the Browser

[0215] To initiate an unsupervised call transfer, the called user clicksan “unsupervised transfer” button displayed on a browser menu. Thecalled gateway server receives the unsupervised call transfer request,and sends a call transfer message to the caller gateway server. Thecaller gateway server receives the call transfer request message andsets up a VoIP call to the transfer telephone at the transfer gatewaynetwork. The caller gateway server then disconnects the original call tothe called telephone.

[0216] Supervised Call Transfer from the Browser

[0217] To initiate a supervised call transfer, the called user clicks a“supervised transfer” button displayed on a browser menu. The calledgateway server receives the supervised call transfer request, uses CTIto place the call on hold, and places a call from the called gatewayserver to the transfer telephone at the transfer gateway server. Afterthe call to the transfer telephone is connected, the called user clicksa “transfer” menu entry to complete the supervised call transfer. Thecalled gateway server receives the transfer request and sends a calltransfer message to the caller gateway server. The caller gateway serversets up a VoIP call to the transfer telephone. The caller gateway serverand transfer gateway server manage the TDM bus time slots to connect thecaller telephone and transfer telephone via the new direct VoIP call.The caller gateway server and transfer gateway server disconnect theoriginal call from the called gateway server.

[0218] Call Transfer from the Telephone

[0219] The called user may initiate a call transfer, with pathreplacement, using the DTMF buttons on the telephone. The called userinitiates the call transfer by entering a transfer code or pressing atransfer button on the telephone, depending on the PBX configuration,and then dials the transfer telephone number. The called PBX places thecurrent call on hold and sends the call to the called gateway server.The called gateway server receives the call from the PBX and initiatesthe VoIP call to the transfer telephone. The called user enters asupervised or unsupervised transfer DTMF sequence, again PBX dependent.The called gateway server receives a transferred CTI event and sends acall transfer message to the caller gateway server. The caller gatewayserver receives the transfer message and sets up a VoIP call to thetransfer telephone. The caller gateway server manages the TDM bus timeslots to connect the caller telephone to the new VoIP call to thetransfer telephone. The caller gateway server then disconnects theoriginal call to the called telephone.

[0220] Path Replacement for Call Forward

[0221] The gateway network users can set up a call forward, with pathreplacement, from a web browser CTI application or from the telephone.In either case, call forward is a PBX feature, and the operation can becarried out by the PBX alone without the gateway server's involvement.However, if the incoming call is via VoIP and is forwarded to a remotesite also via VoIP, the gateway server will provide call forward withpath replacement so that the intermediate PBX loop back is eliminated.As a result, there will be just one direct VoIP link in the forwardedcall.

[0222] Upon receiving an H.323 call setup message, the called gatewayserver checks to determine if the called user has call forward set up.The called gateway server uses CTI to send an inquiry to the PBX. If theuser has call forward set up, and if the call forward destination is ata remote gateway network PBX, the called gateway server sends a “gatewaycall reroute” message back to the caller gateway server. Upon receivingthe call reroute message, the caller gateway server sets up the originalcall to the transfer gateway server and transfer telephone.

[0223] Path Replacement for Follow-Me

[0224] The gateway server allows users to redirect incoming telephonecalls to any telephone, cellular phone, pager, etc., at other locations,e.g. conference room, home, etc. Users may also set up filters so thatonly calls from selected caller(s) are redirected. The gateway servercan implement the follow me capability with path replacement.

[0225] Upon receiving an H.323 call setup message, the called gatewayserver checks the gateway database to determine if the user has followme set up. If the called user has follow me set up, and if thedestination is at a remote gateway server or other H.323 telephone, thecalled gateway server sends a “gateway call reroute” message back to thecaller gateway server. The caller gateway server sets up the originalcall directly to the remote gateway server or H.323 telephone. Thefollow me feature of the integrated voice gateway system of theinvention is described below.

[0226] Real-Time Fax over the IP Network

[0227] The gateway server supports real-time fax transmission over theIP network (FoIP). The caller gateway server forwards the fax signalsfrom the caller fax machine immediately across the IP network to thecalled gateway server. The called gateway server, in turn sends thesignals to the called fax machine. The caller gateway server sendssignals from the called fax machine back to the caller gateway servervia the IP network. The caller gateway server send the signals to thecaller fax machine. Real-time fax transmission over the IP network isprovided- the same immediacy of delivery that users are used to with faxtransmission over the PST NETWORK.

[0228] Inter-PBX Toll Bypass for Real-Time Fax

[0229] In a preferred embodiment, the integrated voice gateway system ofthe invention supports the routing of a fax call from a stand-alone faxmachine (or fax server) over the IP network. This feature is basicallythe same as “Inter-PBX Toll Bypass for Real-Time Voice”, i.e. the basicVoIP call described above with reference to FIG. 5. The gateway engine50 (FIG. 3) provides automatic fax detection. Fax calls can be routed toa gateway server automatically by the configuration of the PBX ARS tablein the same manner as is done for voice calls. A PBX trunk coupled to agateway server can be dynamically shared between voice and fax calls.

[0230] This feature can be provided independent of Inter-PBX Toll Bypassfor voice calls. If a company decides that the quality of voice over IPis not acceptable for its purposes, the integrated voice gateway systemof the invention can still provide for FoIP. In this case, the PBXstations for the fax machines are assigned a special “Class of Service”,and calls originating from these stations are routed by the caller PBXto the caller gateway server.

[0231] When FoIP is supported in conjunction with VoIP, the gatewayserver can also be configured so that VoIP calls are routed via thecompany's intranet, and fax calls are routed via the Internet to takeadvantage of free bandwidth on the Internet.

[0232] Hop-off to PST NETWORK for Real-Time Fax

[0233] In a preferred embodiment, the integrated voice gateway system ofthe invention supports a fax call from within the company to an outsidePST NETWORK fax machine via the IP network and the PST NETWORK. A userin the company, can send a fax to an outside fax machine. The fax callis carried via the IP network to the gateway server which is the closestto the called fax machine, and from there a PST NETWORK connection ismade from the called gateway server to the called fax machine.

[0234] Supported hop-off destinations are determined by the systemadministrator of the destination gateway servers. Both hop-off via localPST NETWORK call and hop-off via long distance PST NETWORK call aresupported. The ARS table (or routing table by other names) of theoriginating PBX needs to be configured accordingly for the hop-off callsto be routed to the gateway server.

[0235] Hop-off to PST NETWORK methods are listed in Table 10. anddescribed above with reference to FIGS. 6-14.

[0236] Redirection of Incoming Fax to Printer

[0237] In a preferred embodiment, the integrated voice gateway system ofthe invention supports the use of laser printers as fax machines. Apseudo fax number can be defined for a printer by the administrator.Once a printer is assigned a pseudo fax number, the printer can receivefaxes sent to that pseudo number just like a fax machine. The faxgateway 54 (FIG. 3) in the called gateway server 126 converts thereceived fax into a printable form before sending the received fax tothe print queue. This feature allows the simultaneous transmission andreceipt of faxes between company sites without busy signals. It alsosupports the use of plain paper for printing faxes.

[0238] Fax Multi-Cast

[0239] In a preferred embodiment, the integrated voice gateway system ofthe invention supports the multi-cast of a fax to a group of recipients.A pseudo fax number representing a group of recipients (i.e. faxdistribution list) can be defined by the administrator or a user. A faxsent to a “pseudo fax number” which represents a group is multi-castedto all recipients in the group.

[0240] Fax multi-cast saves users' time, and reduces the traffic load inthe company's network. When more than one recipient of a multi-castgroup is on the same called gateway server, the caller gateway serversends only one copy of the fax to the called gateway server. The calledgateway server then fans out the fax to each of the recipients.

[0241] PC Call Control

[0242] The invention provides the user with desktop CTI capabilities.The user may dial, answer, hang-up, transfer, conference, forward, placea call on hold, unhold, and drop a call from the desktop workstation.The user can dial touch tone digits, e.g. in response to IVR commands.The user can also set the DND indicator for all calls or selected calls,and manage multiple call appearances, e.g. select one call to answer andselect another call to go to voicemail. The white pages and theindividual frequent contact lists from the enterprise directory areavailable for the user to select destinations for dialing, transfers andconferencing. The call log is also available at the desktop workstation.The PC call control interface is delivered as a Java applet through theweb browser.

[0243] Current CTI applications only provide the user a personaltelephone book or an application specific directory. Current CTIapplications do not provide the user with access to the enterprisedirectory. In the integrated voice gateway system of the invention, thePC call control capability is integrated with the IP telephone voicegateway, and provides the user with a white pages directory, based uponthe enterprise directory, to serve as a phone book directory, andintegrated with a CTI application.

[0244] Since the PC call control feature is browser based, there is nodesktop application to install, and the PC call control capability iscompatible with multiple computers and operating systems. This isillustrated in FIGS. 47 and 48. FIG. 47 illustrates a current system inwhich a CTI server 502 and a workstation 503 are coupled via a LAN 501.The CTI application CTI_APP 504 and CTI dynamic link library (dll)CTI.dll 505. The CTI_APP 504 and CTI.dll 505 are both installed in theworkstation 503. This can be very expensive, and present a complexlogistical problem in a large organization to install, maintain andupdate the CTI_APP 504 and CTI.dll 505 as required for new features, bugfixes, operating system upgrades and the like. In the integrated voicegateway system of the invention, as illustrated in FIG. 48, there is noneed to install applications, dlls, and the like in all the users'workstations. The CTI server 97, gateway server 26, web server 92 andworkstation 24 are all coupled via the company's LAN 22. The user client95 is a commercially available web browser-based GUI application. Thereis no need to install special applications, dlls, or the like, as all PCcall control capabilities are provided via the web browser user client95. Installation, maintenance and upgrade of the call controlapplication is accomplished as necessary only on the respective servers.The user begins by logging in via a browser screen. Once the user islogged in, the user can receive “screen pops” from the gateway server26. Screen pops are windows and dialog boxes which, for example,identify the calling and called parties, and provide other informationto the user as is described below.

[0245] Virtual Desktop

[0246] The integrated voice gateway system of the invention provides avirtual desktop which allows a computer browser and a telephone at alocation other than a user's regular office, e.g. an “alternate office”or a “virtual office”, to be logically associated with the user. As usedherein, an alternate office may be another office within the company,and a virtual office may be at a location off the company's premises.

[0247] An alternate office within the company is any location that hasaccess to both a gateway telephone, and a desktop workstation having abrowser, the workstation coupled to the company's data network.Reference FIG. 49, the integrated voice gateway system of the inventionsupports a user working in an alternate office by providing the user thecapability to: redirect desired inbound calls to the telephone in thealternate office, and receive caller ID screen pops on the desktopworkstation identifying that the call is for that user; place calls fromthe telephone in the alternate office and have the user's own caller IDsent to the call's destination; and, have access to the full set ofbrowser based desktop call control (e.g., white pages, transfer) thatare available at the user's regular desk. As illustrated in FIG. 49, theuser first logs in at the remote workstation 524 via the user client 595browser interface in the alternate office. The login informationincludes the telephone number of the remote telephone 538. The gatewayengine 550 in the remote gateway server 526 causes the information to bestored in the gateway database 551 in the remote gateway server 526 andto be sent to the user's primary gateway server 26 to be stored in thegateway database 51 in the primary gateway server 26.

[0248] The information stored in the gateway database 51 in the primarygateway server may include a filter set up by the user to limit theusers whose calls are forwarded to the alternate office. Operation ofthe follow me feature of the integrated voice gateway system of theinvention is described below.

[0249] Traveling Class of Service

[0250] The class of service is a set of user attributes which indicatethe capabilities that are available to a user. The attributes includeboth licensing levels and feature activation. The class of serviceattributes are referenced at different points during operation of thegateway server, and include, for example, when a user logs in—todetermine which client to deliver via the web browse; at an originatinggateway server—to determine which features are available to a user; andto be transported with a call to a called gateway server—so that featureaccess may also be addressed at the destination.

[0251] As indicated above in the description of the Virtual Desktopfeature, the class of service available to a user follows the user whenthe user logs in at an alternate office.

[0252] Virtual PBX Features

[0253] The integrated voice gateway system of the invention couples thePBX's in an enterprise in one single Virtual PBX (VPBX). This enablesthe system of the invention to provide several useful end-user featureswhich are collectively referred to herein as VPBX features. This set ofVPBX features is an important set of features which set has notpreviously been available in IP telephony systems.

[0254] The gateway server relies on the CTI connection to the PBX toprovide most of the VPBX features. The integration of the gateway serverwith the enterprise directory services systems enables the gatewayserver to provide the full range of VPBX features described herein. Asan alternative to CTI, the gateway server can also obtain much of theinformation needed to provide VPBX features via PRI and QSIG interfaces.Table 13 shows the VPBX features which can be supported depending on theinterfaces which are available. It can be seen that all of the featurescan be supported in a system having a CTI link between the PBX and thegateway server, and either a T1/E1 tie trunk or an analog CO trunk. In aconfiguration having a QSIG interface with no CTI link, all the featurescan be provided except for dynamic caller ID for calls which originatefrom the PST NETWORK or if the caller and called telephones are bothcoupled to the same PBX. The remaining configurations, not having a CTIlink between the PBX and the gateway server do not support pathreplacement, callback on busy or call alert, and only a configurationhaving a PRI CO trunk or T1/E1 in-band signaling, without a CTI link,can support dynamic caller ID for calls placed from a caller telephoneto a called telephone with both telephones “on net”. TABLE 13 VPBXFeature Support No CTI and PRI No CTI CO CTI and Trunk and T1/E or T1/E1 T1/E 1 Tie- 1 Tie Trunk No with Trunk or CTI In- or Analog and BandAnalog CO QSI ANI CO Trunk G Signaling Trunk Toll Bypass X X X X Hop-Offto PST X X X X NETWORK Hop-On from X X X X PST NETWORK Fallback to PST XX X X NETWORK Fail-Safe X X X X Operation Path X X — — ReplacementDynamic Caller X X X — ID (on net calls) Dynamic Caller X ID (off-netcalls, i.e. PST NETWORK and intra-PBX calls) Callback on X X — — BusyCall Alert on X X — — Busy

[0255] Table 14 shows the features for forwarding calls to alternatetelephone numbers which can be supported from a user client depending onthe interfaces which are available. It can be seen that all of thefeatures can be supported in a system having a CTI link between the PBXand the gateway server, and either a T1/E1 tie trunk or an analog COtrunk. In a configuration having a QSIG interface with no CTI link, allthe features can be provided except for follow-me for calls whichoriginate off-net. The remaining configurations, not having a CTI linkbetween the PBX and the gateway server also do not support filteredfollow-me for on-net or off-net calls. TABLE 14 Follow-me FeatureSupport No CTI CTI and No and T1/E CTI T1/E 1 and 1 Tie- QSI Tie Trunk GTrunk or or or Analog PRI Analog CO CO CO Trunk Trunk Trunk IntelligentFollow-me Follow-me (on-net calls) X X X Follow-me (off-net calls) XScheduling via Browser X X X Turn on/off via any phone X X X Voice MailCoverage X X X Filtered Follow-me (on-net calls) X X Filtered Follow-me(off-net calls) X — — Alternate Office: Alternate Office: Identify UserX X X Calls Remote H.323 User NetMeeting Integration X X X

[0256] Table 15 shows advanced features which can be supported from auser client depending on the interfaces which are available. It can beseen that all of the features can be supported in a system having a CTIlink between the PBX and the gateway server, and either a T1/E1 tietrunk or an analog CO trunk. In a configuration having no CTI linkavailable, only the enterprisee and personal directories are supported,and the call log for on-net calls. TABLE 15 Advanced Feature Support NoCTI and QSIG or PRI CO CTI Trunk and or T1/E1 Tie- T1/E1 Tie Trunk Trunkor or Analog CO Analog CO Trunk Trunk Directory Enterprise Directory X XPersonal Directory X X Call Log Call Log for On-net calls X X Call Logfor Off-net calls X — Desktop Call Control X — Make Call X — Answer CallX — Hang Up Call X — Hold Call X — Transfer Call X — Forward Call X —Display of Active Calls X — Do Not Disturb X —

[0257] The provision of a screen-pop to a user's desktop workstation isa useful interface for most of the VPBX features. Screen-pops may beaccompanied by audible sounds and alerts to provide additional emphasisor information to the user. If the user does not have a desktopworkstation, or if the user does not log into the gateway server, thenthe gateway server may provide IVR as the user interface for the VPBXfeatures.

[0258] VPBX features provided by the integrated voice gateway system ofthe invention may include: Dynamic Caller ID, Call Log, Callback onBusy, Call Alert, Call Alert via Must Answer Station, Follow Me, andVirtual Desktop, each of which will be described below. The inventionalso supports conventional PBX features, e.g. Ring Through, etc.

[0259] Dynamic Caller ID

[0260] The integrated voice gateway system of the invention provides thecapability to display the caller ID to the called party by a screen-popon the desktop workstation at the same time the telephone rings.

[0261] For many large corporate desktop users, current systems providecaller ID only when a fellow employee calls from within the same PBXsystem. Calls from employees at other corporate locations only providethe trunk number of the remote location, not the calling telephonenumber or name. Providing caller ID (including name, telephone number,and other relevant information about the caller) allows the desktopworker to interrupt work, or, for users with multiple telephone lines,to interrupt a current conversation, to answer important calls withoutanswering every call. On PBX networks where caller ID is provided on thetelephone display via proprietary channel signaling, a currentlimitation is that in a time sharing office environment, the caller IDcannot be dynamically changed. In a typical office environment, atelephone is assigned to an employee. In this case, the caller name isthe name of the employee to whom the caller telephone is assigned. In atime sharing office situation, different employees use the office andthe telephone at different times. Additional limitations in currentsystems are that the PBXs must be from the same vendor, and the PBXsmust be connected by leased lines, and the PBX data base of caller namesmust be entered at each site.

[0262] Reference FIG. 50, the gateway server provides dynamic caller ID,i.e. the telephone number with the correct caller name, based on who islogged on from the office desktop workstation at the time the call ismade. If there is no user logged on at the time a call is made, thedefault information for that telephone is used.

[0263] If the desktop worker's telephone is being forwarded to anotherextension, and a CTI event is generated with the forwarding, then thecaller ID screen pop will appear with the ringing call at the forwardedextension. In addition, the original called party ID will also bedisplayed on the screen pop of the forwarded call.

[0264] The caller ID feature can support calls between gatewaytelephones, i.e. between two telephones coupled to the same PBX in agateway network, or between telephones coupled to two PBXs in differentgateway networks. For calls originating from telephones outside agateway network (e.g. PST NETWORK telephone, internet telephone), thecaller ID feature can provide the caller ID to the gateway server by thePBX, through CTI (if caller ID is transmitted by the PST NETWORK and bythe PBX to the CTI link), or by a VoIP connection.

[0265] The caller ID feature relies on CTI or inband ANI, PRI or QSIGtrunk types at the caller gateway server to provide the caller'stelephone number. The caller ID feature also relies on the desktopworkstation display at the called party's desktop. The enterprisedirectory provides the caller name and associated information (e.g.title, department, etc.) with the calling number.

[0266]FIG. 50 illustrates how the caller ID is obtained at the callergateway server. The caller (not illustrated) picks up the handset on thecaller telephone and dials the desired telephone number. The caller PBXaccesses a trunk 35 to the caller gateway server 26, and dials the call.The caller gateway server receives the telephone number from the callerPBX on a PRI trunk or over the CTI link.

[0267] The caller gateway PBX 34 delivers the call to the caller gatewayserver 26, and, as the call is delivered, the caller PBX 34 also passesthe caller ID (i.e. the caller's telephone number) to the caller gatewayserver 26 via an inband ANI, PRI, QSIG or CTI link. In the case of anISDN PRI link, the caller PBX 34 may use a call setup message toinitiate the call. The caller ID can be transmitted as part of the callsetup message. The caller gateway server 26 receives the caller ID aspart of the setup message, and the caller PBX 34 and caller gatewayserver 26 continue to set up the call. In the case of a QSIG link, thePBX uses a call setup message to initiate a call on the QSIG link. Thecaller ID information is transmitted as part of the call setup message.The caller gateway server 26 receives the caller ID as part of the setupmessage, and the caller PBX 34 and caller gateway server 26 continues toestablish the call. The CTI link 98 is a separate link from the trunks.To pass the caller ID via the CTI link, the PBX places a call to thecaller gateway server 26 using a trunk. While the trunk call is beinginitiated, the CTI link 98 transmits an event message indicating thecall. The event message includes the trunk ID, the called telephonenumber, and the caller's caller ID. The caller gateway server 26associates the call being received on the trunk with the CTI link 98message, and associates the caller ID with the trunk. Using the CTI link98 to pass the caller ID supports instances in which analog or T1 trunksare used which do not provide caller ID information from the caller PBX34.

[0268] The caller gateway server 26 uses the caller's telephone numberto access additional caller ID information in the gateway database, i.e.the local image of the enterprise directory data. The caller gatewayserver 26 initiates an H.323 VoIP call with the called gateway server126 over the IP network 18. As the call is placed, the caller gatewayserver 26 sends the caller ID information to the called gateway server126 using an H.323 extension, e.g. User Information Extension (UIE).

[0269] The called gateway server 126 sets up the call with the calledPBX 134, and may include the caller ID for the called PBX to pass to thecalled telephone 138. The called PBX rings the called telephone 138,and, if the called telephone 138 has a caller ID display, the called PBX134 may include the caller ID for display at the called telephone. Thecalled gateway server 126 checks its gateway database 151 to determineif the called party has a browser logged on to the called gateway server126, and if that browser is logically associated with the calledtelephone 138. If the called gateway server 126 determines that thecalled party has a browser logged on, and is associated with the calledtelephone 138, then the called gateway server 126 delivers the caller IDinformation to the called desktop workstation via a browser applet. Thebrowser applet results in a screen pop in the browser window at thecalled desktop workstation. Both the caller gateway server 26 and calledgateway server 126 log the calls, and include the caller ID informationin the call logs. A description of the Call Log feature follows below.

[0270] Call Log

[0271] The call log provides a log of outgoing calls and incoming callsincluding answered calls, abandoned calls and ring through calls for adesktop user. The call log includes the time of call, name and telephonenumber of the caller, and the result of the call, e.g. forwarded tovoice mail, hang-up, inbound/outbound, etc. The call log may be sortedby time. The desktop user can access the call log via a gateway serverclient or a browser. As is the case with all screen pops, the call logis available to users only when they are logged in to the gatewaynetwork. Users can make a return call by clicking any inbound call entryin the call log. The entries in the call log can be imported into auser's personal phone book. The call log is maintained on the gatewayserver and will continue to log calls even if the user does not log onto the gateway network. Entries in the call log can be deleted,individually and as a group. A user may click a “details” button toaccess the detailed NDS information for users who are parties toincoming and outgoing calls.

[0272] Reference FIG. 51, When the caller makes a call from the callertelephone 38, the caller gateway server 26 opens a call log record forthe caller. Caller ID information is obtained from the enterprisedirectory 90 for both the caller and called parties and is inserted intothe call log record. When the call arrives at the called gateway server126, a call log record is opened for the called party. Caller IDinformation for both the caller and called parties is inserted in thecall log record in the called gateway server 126. When the call is over,or if for some reason the call is not completed, e.g. caller is busy,additional information (e.g. result, duration, etc.) is inserted in thecall log records at both the caller gateway server 26 and called gatewayserver 126.

[0273] Destination Busy

[0274] The integrated voice gateway system of the invention providesseveral options for a caller at a gateway telephone attempting to call aparty at another gateway telephone which is currently busy. The callermay elect to cancel the call or may select one of the options whichinclude: Callback on Busy, Call Alert and Ring Through. These optionswill be described below. Common to each option is first thedetermination that a called gateway telephone is busy.

[0275] Referring to FIG. 52, a normal call is propagated within theintegrated voice gateway system, either within a single gateway network,or as a VoIP call between two gateway networks. FIG. 52 illustrates sucha call as a VoIP call between two gateway networks. As part of itsnormal processing function, the caller gateway server 126 uses thecalled CTI link 198 to the called PBX 134 to maintain the idle/busystatus of telephones on the called PBX 134. When the called gatewayserver 126 receives the call from the caller gateway server 26, thecalled gateway server 126 checks the status of the called telephone 138.The called gateway server 126, on determining that the called telephone138 is busy, notifies the caller gateway server 26 of the busy status.The called gateway server 26 receives the busy notice and checks itsuser logon data to determine if the caller at the caller telephone 38 iscurrently logged in from a browser. If the caller is logged in, thecaller gateway server 126 sends information to the caller's browser 95to inform the caller that the called telephone 138 is busy. The caller'sbrowser 95 provides a screen pop to the caller indicating that thecalled telephone 126 is busy. The screen pop also provides the callerwith several options from which to choose. The options may include:cancel the call, request a callback, request a call alert or request aring through. If the caller is not logged in from a browser, the callermay be provided similar options via an IVR interface.

[0276] Callback on Busy

[0277] The integrated voice gateway system of the invention provides thecapability for a caller, if the called telephone is busy, to requestthat a callback be automatically set up when the called telephone is nolonger busy. This feature is not available to most desktop users ofcurrent systems since telephone calls are typically immediatelyforwarded to voice mail systems when a called telephone is busy. SomePBXs offer delayed call forward on busy to allow callers to set callbackbefore the call is forwarded to voice-mail, and some voice mail systemsoffer callers an option to select callback before taking a message.However, these options require that the PBXs be upgraded, and arequested callback may be canceled if the caller telephone is usedbefore the callback is completed. If callback on busy is provided acrossa network by PBX vendors, the callback option will only work if both thecaller and called telephone systems are from the same vendor. Theintegrated computer telephone system of the invention provides acallback on busy capability which works across networks of mixedtelephone systems.

[0278] Reference FIG. 53, the callback option may be provided to thecaller via IVR or via a screen pop. If the caller requests a callback beset up, then the gateway servers 4, 104 will automatically set up thecall when the called party hangs up the current call.

[0279] When the callback call takes place, both the caller and calledparties will be provided with the other party's caller ID. In the callerID screen pop, it is also noted that the call is a callback call.

[0280] If, when the gateway servers set up the callback call, theoriginal caller telephone is busy, the original caller will receive ascreen-pop to the effect that the callback is taking place. The callerwill have the option to hang up or place the current call on hold toinitiate the callback call, or ignore the callback notification. If thecaller ignores the callback notification, i.e. continues the currentcall for more than a specified time, e.g. 15 seconds, the callback willbe canceled.

[0281] If a called party has multiple callback requests pending, thenthe callbacks may be serviced on a first-in-first-out (FIFO) basis, oron a priority basis, e.g. based on class of service of the caller,urgency, etc.

[0282] Call Alert

[0283] The integrated voice gateway system of the invention provides thecapability for a caller to request a call alert if the called telephoneis busy. For current desktop users, there is no capability to send acall waiting signal to a busy party since telephone calls are typicallyimmediately forwarded to voice mail systems when a called telephone isbusy. The ability of the integrated computer telephone system of theinvention to provide caller ID on all intra-company calls regardless oflocation is an important part of the call alert feature. In addition,the unique ability of the integrated voice gateway system of theinvention to allow remote users to send messages to describe theirurgent need to talk to a busy party is a significant advance in desktopto desktop communication.

[0284] The call alert option may be provided to the caller via IVR orvia a screen pop. If the caller chooses to request the alert via ascreen pop, the caller may include an optional message, e.g. to informthe called party of the purpose of the call. The optional message may beselected from a set of pre-established messages, or may be a messagecreated by the caller.

[0285] The call alert is delivered to the called party in a screen-popon the called party's desktop workstation. The caller ID and optionalmessage from the caller will be displayed. The called party can thentake the call by hanging up or placing the current call on hold,acknowledge the call alert, or ignore the call alert by continuing thecurrent call for more than a specified time, e.g. 15 seconds. If thecalled party ignores the call alert, the caller may be given the optionto either ring through or set up a callback. The option to ring throughor call back may be provided via IVR or screen pop. If the called partyhas multiple lines, then a call alert will be activated only if alllines are busy.

[0286] The call alert feature requires that both the caller and calledtelephones are gateway telephones, and the called party is logged on tothe gateway server via the browser interface. The call alert featureuses CTI on both the caller gateway server and called gateway server foron/off hook status and to determine if the called party hangs up orplaces the current call on hold. The call alert feature also relies onthe directory to provide caller ID for a call alert screen pop presentedto the called party.

[0287] The privilege to use call alert may be configurable by the systemadministrator on a user by user basis.

[0288] If a user prefers not to be disturbed by call alert messages, theuser can set a Do not Disturb (DND) indicator on the user's telephone.The DND indicator may be set via a screen pop provided on the user'sdesktop workstation.

[0289]FIGS. 54 and 55 illustrate a call alert scenario using the browserclient and screen pops. Referring to FIG. 54, the caller types a messageand clicks a call alert button in the caller user client 95. The callalert message is passed to the caller gateway server 26, and then overthe IP network 18 to the called gateway server 126. The called gatewayserver 126 passes the call alert message to the called user client 195.The call alert message appears via a screen pop in the called userclient 195. The called user may elect to accept or reject the call alertby clicking an appropriate button in the call alert screen pop. If thecalled user accepts the call alert, a message is passed to the calledgateway server 126. The called CTI driver 180 passes a message to thecalled PBX 134 to place the current call on hold. The called analogdriver 167 delivers the new call to the called PBX 134. The called PBX134 rings the called telephone 138.

[0290] Referring to FIG. 55, if the called user rejects the call alert,the rejection message is passed to the called gateway server 126 and thecalled user client 195 closes the screen pop. If the called user takesno action, and the call alert times out, the called gateway server 126passes a message to the called user client 195 to close the call alertscreen pop.

[0291] If the call alert times out or is rejected, after closing thescreen pop, the called gateway server 126 sends a call alert rejectedmessage to the caller gateway server 26 via the IP network 18. Thecaller gateway server 26 passes the call alert rejection message to thecaller user client 95. The rejection message includes applicable optionsfor the caller to select.

[0292] Ring Through

[0293] The integrated voice gateway system of the invention provides thecapability for a caller to request a ring through if the calledtelephone is busy. The ring through option follows normal PBX callcoverage options which may typically forward calls to a user's voicemail or a Must Answer Station. The ring through option will be describedwith reference to FIG. 56.

[0294] The description of Destination Busy above concluded with thecaller being provided several options, via browser or IVR, includingring through. If the caller is logged on via a browser, the caller wouldselect the ring through option in the browser window at the callerworkstation. The browser passes the selection to the caller gatewayserver. If the caller is not logged on, the caller would select the ringthrough option by pressing a designated key on the telephone. The callergateway server 26 detects the DTMF tone selecting the ring throughoption. The caller gateway server 26 then notifies the called gatewayserver 126 that the caller has requested to ring through. The calledgateway server 126 places an inbound call to the called PBX 134 for thecalled telephone 138. Since the called telephone 138 is busy, the calledPBX 134 follows the normal process set up for the PBXs in the system,e.g. voice mail, must-answer station, etc.

[0295] Call Alert Via Must-Answer Station

[0296] The integrated voice gateway system of the invention provides thecapability for a caller to request a call alert if the called telephoneis busy and the caller is not using a gateway telephone. In currentsystems, a caller typically forwards a call to a designated (e.g. “mustanswer”) station, e.g. by pressing “0” after being forwarded to voicemail. In a large company, the attendant at a must-answer station istypically located remotely from the called party and hence cannot walkover to the called party and slip a notice that the caller needs tourgently talk to the called party.

[0297] When a caller from outside a gateway network, e.g. a PST NETWORKtelephone, places a call to a gateway telephone, and the called gatewaytelephone is busy, the caller may elect to transfer to a must-answerstation. An attendant at the must-answer station can assist the callerby providing a call alert, for the outside caller, on the co-locatedworkstation of the busy gateway telephone.

[0298] Follow Me The integrated computer telephone system of theinvention provides the capability for users to redirect incomingtelephone calls arriving at their regular PBX station to any telephoneor internet phone. The system of the invention also provides users withthe capability to set up filters so that only calls from selectedcallers are redirected. Calls not forwarded can be sent to the normalPBX call coverage options, e.g. voice-mail.

[0299] In current PBX systems, users can program the PBX to call forwardall calls to an inside-the-PBX or outside-the-PBX location. However,this generally needs to be done from the user's desktop telephone. Inorder to program the PBX from an outside location, expensive equipmentfor telecommuting must generally be attached to the PBX. These currentsystems offer only an IVR interface, but no browser interface. Incurrent PBX systems there is no way to link caller ID to callforwarding. Hence, filtered call forwarding is not possible in thecurrent systems. The telephone to which the calls are redirected may beanother gateway telephone (coupled to the same or a different PBX as theuser's telephone), or a PST NETWORK telephone (e.g. remote telephone338), etc. The redirection can be set up as a one-time event or arecurring (e.g., daily) event. However, at any point in time, only oneredirection may be in effect.

[0300] Follow me setup and operation will be described with reference toFIGS. 57-58. Referring to FIG. 57, the follow me feature may be setupvia the browser or and IVR interface. If a browser is available, theuser accesses follow me setup screens via the browser, reviews currentoptions, and may make changes to the configuration. The browser andgateway server exchange data during the interaction.

[0301] If a browser is not available, for example, if the user issetting up the follow me feature from a PST NETWORK telephone, the usermay set up follow me by calling a specified telephone number andinteracting through an IVR interface. If the user calls from a remotetelephone, the system may first authenticate the user's identity. Forreal time call processing, the user's follow me data is stored in thegateway server's local database. The user's follow me settings arestored in the enterprise directory as part of that user's data.

[0302] The follow me setup may include several options. For example, theuser may schedule follow me periods as one time or periodic recurringevents with a different destination telephone number selected for eachevent (e.g., car phone during the commute home, and home telephone inthe evening). The user may set up numerous scheduled events. The usermay also use an override option to use an unscheduled alternatedestination. The users may configure the system to filter calls based oncaller ID, and forward only calls from a list of callers selected by theuser. The user may assemble a list of callers from the enterprise whitepages and a frequent contact list. The user may create a differentfilter for each scheduled follow me period.

[0303] Referring to FIG. 58, an incoming call to a called telephone 138coupled to a called PBX 134, may come via a VoIP call from a callertelephone 38 coupled to a caller PBX 34; via a PST NETWORK call from acaller telephone 438 coupled to the PST NETWORK 16; or from a callertelephone 538 coupled to the called PBX 134. In the case of a local PBXor PST NETWORK call, the called PBX 134 sends a CTI event to the calledgateway server 126. The called gateway server 126 checks whether followme is active for the called party, and, if a filter is active, if thecaller matches the filter. If no filter is active, all calls areforwarded. If the caller does not match an active filter, the call notforwarded, and is simply delivered to the called telephone 138. If amatch is found, the called gateway server 126 initiates a call to thefollow me destination telephone. If the original call was an internalPBX call or a call from a PST NETWORK telephone, the gateway server usesthe CTI link to redirect the call to the called gateway server 126. Ifthe original call is a VoIP call, the call is normally directed to thecalled gateway server 126, and the called gateway server 126 canredirect the call.

[0304] The called gateway server 126 plays a message for the callerindicating that the call is being forwarded. When the forwarded call isanswered, the gateway server offers a greeting to the answering party.The answering party replies with an accept code, e.g. DTMF tones,thereby authenticating the answering party. The caller and called partyare then connected. If the call forwarded to the destination is notanswered, or if the correct accept code is not provided, the caller isprovided a message and the call is re-routed to the original calledtelephone to go through normal PBX coverage options, e.g. voice-mail.

[0305] While various embodiments and features of the invention have beendescribed, those skilled in the art will recognize that variations andadditions to those features and functions can be made within the scopeof the invention. The invention is therefore intended to be limited onlyby the scope of the appended claims.

We claim:
 154. A communication system comprising: a public switchedtelephone (PST) network; an internet protocol (IP) network; a privatebranch exchange (PBX) with a telephone coupled thereto to route atelephone call over the PST network; and a voice gateway coupled to thePBX and to the IP network to route a telephone call over the IP network,the voice gateway configured to support a plurality of numbering plans.155. A communication system according to claim 154 wherein the voicegateway is coupled to the PBX via a call status-call control link tocontrol operation of the telephone.
 156. A communication systemaccording to claim 154 further comprising a directory coupled to thevoice gateway, and wherein the voice gateway is configured to access thedirectory and to control the telephone to support the plurality ofnumbering plans.
 157. A communication system according to claim 154wherein the plurality of numbering plans supported includes at least onenumbering plan from a group consisting of: a uniform numbering plan(UNP); an enterprise numbering plan (ENP); and a PSTN numbering plan;and a direct trunk group access code.
 158. A method of operating acommunication system to route a telephone call over an internet protocol(IP) network, the communication system having a plurality of voicegateways coupled to the IP network, each of the plurality of voicegateways identified by an IP address, the method comprising steps of:accepting a number entered via a calling telephone by a user inaccordance with one of a plurality of numbering plans; translating thenumber into the IP address of one of the plurality of voice gateways;and routing the telephone call from the calling telephone to a calledtelephone.
 159. A method according to claim 158 wherein thecommunication system further comprises a gateway database coupled to theplurality of voice gateways, the gateway database having the IPaddresses of the plurality of voice gateways stored therein, and whereinthe step of translating the number comprises steps of: accessing thegateway database with one of the plurality of voice gateway; andassociating the number with an IP address in the gateway database. 160.A method according to claim 159 wherein the step of associating thenumber with an IP address comprises the step of manipulating a digit ofthe number.
 161. A method according to claim 158 wherein the step oftranslating the number includes the step of translating a number from atleast one numbering plan from a group consisting of: a uniform numberingplan (UNP); an enterprise numbering plan (ENP); and a PSTN numberingplan; and a direct trunk group access code.
 162. A method according toclaim 158 the step of routing the telephone call comprises the step ofcontrolling the plurality of voice gateways to route the telephone callfrom a first voice gateway over the IP network to a second voicegateway.
 163. A method according to claim 158 wherein the communicationsystem further comprises a plurality of private branch exchanges (PBXs)coupled to a public switched telephone (PST) network, each of theplurality of PBXs coupled to one of the plurality of voice gatewaysthrough a call status-call control link, and wherein the step of routingthe telephone call further comprises the step of controlling a privatebranch exchange connected to the second voice gateway to route thetelephone call to the called telephone.
 164. A method according to claim163 wherein the called telephone is coupled to the private branchexchange through the PST network, and wherein the step of routing thetelephone call further comprises the step of controlling the PBXconnected to the second voice gateway to route the telephone call overthe PST network to the called telephone.